(* Content-type: application/vnd.wolfram.mathematica *)

(*** Wolfram Notebook File ***)
(* http://www.wolfram.com/nb *)

(* CreatedBy='Mathematica 11.3' *)

(*CacheID: 234*)
(* Internal cache information:
NotebookFileLineBreakTest
NotebookFileLineBreakTest
NotebookDataPosition[       158,          7]
NotebookDataLength[    272556,       6215]
NotebookOptionsPosition[    255921,       5866]
NotebookOutlinePosition[    256594,       5892]
CellTagsIndexPosition[    256513,       5887]
WindowFrame->Normal*)

(* Beginning of Notebook Content *)
Notebook[{
Cell[TextData[{
 "New in: ",
 Cell["0.7", "HistoryData",
  CellTags->"New",ExpressionUUID->"9857d139-77ab-4df2-8ade-456b48d4f58c"],
 " | Modified in: ",
 Cell[" 1.8.0", "HistoryData",
  CellTags->"Modified",ExpressionUUID->"5e8249f4-cbd2-4ca6-84ff-25ae789ddcb8"],
 " | Obsolete in: ",
 Cell[" ", "HistoryData",
  CellTags->"Obsolete",ExpressionUUID->"1c2ccdf2-4144-4014-a052-c7a99c71df8d"],
 " | Excised in: ",
 Cell[" ", "HistoryData",
  CellTags->"Excised",ExpressionUUID->"b98bfa3c-a59f-49d1-9c8b-145803b0a58d"]
}], "History",
 CellChangeTimes->{{3.780119110555779*^9, 3.780119111038389*^9}},
 CellID->1247902091,ExpressionUUID->"3564ca1c-ed90-40aa-9486-b2a3e651a047"],

Cell[CellGroupData[{

Cell["Categorization", "CategorizationSection",
 CellID->1122911449,ExpressionUUID->"084f8c15-2b0e-4d69-97d3-d7afe09ac5f4"],

Cell["Symbol", "Categorization",
 CellLabel->"Entity Type",
 CellID->686433507,ExpressionUUID->"b45baed7-701c-44b1-83ab-89f9d128b42f"],

Cell["MaXrd", "Categorization",
 CellChangeTimes->{3.7438365206156607`*^9},
 CellLabel->"Paclet Name",
 CellID->605800465,ExpressionUUID->"c7c586c3-4f1e-4c87-ad13-31ab20b651d8"],

Cell["MaXrd`", "Categorization",
 CellChangeTimes->{3.74383652119696*^9},
 CellLabel->"Context",
 CellID->468444828,ExpressionUUID->"1da44dab-77db-43a7-8c26-3b0fef05e95a"],

Cell["MaXrd/ref/UnitCellTransformation", "Categorization",
 CellChangeTimes->{3.743836521596869*^9},
 CellLabel->"URI",ExpressionUUID->"63233077-7c04-4e3b-ad4c-ea52ff735bc8"]
}, Open  ]],

Cell[CellGroupData[{

Cell["Keywords", "KeywordsSection",
 CellID->477174294,ExpressionUUID->"60ed071a-2584-49ef-bc37-5c927a6b2704"],

Cell["XXXX", "Keywords",
 CellID->1164421360,ExpressionUUID->"8251cd94-eeeb-46aa-8b24-e674a31408f7"]
}, Closed]],

Cell[CellGroupData[{

Cell["Syntax Templates", "TemplatesSection",
 CellID->1872225408,ExpressionUUID->"1f39526d-cfc7-463e-be5c-88c2d3a5fb4a"],

Cell[BoxData[""], "Template",
 CellLabel->"Additional Function Template",
 CellID->1562036412,ExpressionUUID->"2501a806-7602-4f13-a1f4-09ded7e671b8"],

Cell[BoxData[""], "Template",
 CellLabel->"Arguments Pattern",
 CellID->158391909,ExpressionUUID->"c3f61f3d-466b-4b00-a53c-600080c26b07"],

Cell[BoxData[""], "Template",
 CellLabel->"Local Variables",
 CellID->1360575930,ExpressionUUID->"3bb03934-6e7d-48ea-b525-658d25caecdd"],

Cell[BoxData[""], "Template",
 CellLabel->"Color Equal Signs",
 CellID->793782254,ExpressionUUID->"4fec2d68-f035-40da-8cfa-1a2b3c444299"]
}, Closed]],

Cell[CellGroupData[{

Cell["Details", "DetailsSection",
 CellID->307771771,ExpressionUUID->"cf06c8ed-1e70-4468-a934-80d4644cf26c"],

Cell["XXXX", "Details",
 CellLabel->"Lead",
 CellID->670882175,ExpressionUUID->"e7a3e3b1-9f66-4312-9366-7a4b1e084085"],

Cell["XXXX", "Details",
 CellLabel->"Developers",
 CellID->350963985,ExpressionUUID->"46bcfbd3-6489-41ef-84f4-2b19b38d08a9"],

Cell["XXXX", "Details",
 CellLabel->"Authors",
 CellID->8391405,ExpressionUUID->"8d02d7ca-ef2f-42bc-815a-639a710e1e8f"],

Cell["XXXX", "Details",
 CellLabel->"Feature Name",
 CellID->3610269,ExpressionUUID->"00194033-5b4c-467c-bf29-dd755cb179ef"],

Cell["XXXX", "Details",
 CellLabel->"QA",
 CellID->401364205,ExpressionUUID->"1f28db49-ef6c-4d09-9205-3ad6c0576a0e"],

Cell["XXXX", "Details",
 CellLabel->"DA",
 CellID->350204745,ExpressionUUID->"8b69ffe8-2c05-4040-8a0c-1e6b2f6ac404"],

Cell["XXXX", "Details",
 CellLabel->"Docs",
 CellID->732958810,ExpressionUUID->"4234ec4e-bb6f-419c-9a1b-68f161a67c46"],

Cell["XXXX", "Details",
 CellLabel->"Features Page Notes",
 CellID->222905350,ExpressionUUID->"aa768ac9-a479-496d-be92-3b20854bb6e7"],

Cell["XXXX", "Details",
 CellLabel->"Comments",
 CellID->240026365,ExpressionUUID->"c29aafd8-2e63-4313-b95a-7d34f0c4c8b6"]
}, Closed]],

Cell[CellGroupData[{

Cell["UnitCellTransformation", "ObjectName",
 CellID->1224892054,ExpressionUUID->"cd860828-c889-488d-974b-dcbd4ebb5e3c"],

Cell[TextData[{
 Cell["   ", "ModInfo",ExpressionUUID->"06df2a67-812d-4eb2-8a35-04ba0bcbc599"],
 Cell[BoxData[
  RowBox[{
   ButtonBox["UnitCellTransformation",
    BaseStyle->"Link",
    ButtonData->"paclet:MaXrd/ref/UnitCellTransformation"], "[", 
   RowBox[{
    StyleBox["crystal", "TI"], ",", 
    RowBox[{
     SubscriptBox[
      StyleBox["setting", "TI"], 
      StyleBox["i", "TI"]], "\[Rule]", 
     SubscriptBox[
      StyleBox["value", "TI"], 
      StyleBox["i", "TI"]]}], ",", " ", 
    StyleBox["\[Ellipsis]", "TR"]}], "]"}]], "InlineFormula",ExpressionUUID->
  "95f14da1-9137-4549-9512-6cdc8af4a82a"],
 " \[LineSeparator]transforms the unit cell of ",
 Cell[BoxData[
  StyleBox["crystal", "TI"]], "InlineFormula",ExpressionUUID->
  "5591814e-7f3e-4cdc-9ddb-b7c8956fdc37"],
 " according to the given settings.\n",
 Cell["      ", "ModInfo",ExpressionUUID->
  "5bc1fb7d-6518-4613-91c6-f7e8eabdfca9"],
 Cell[BoxData[
  RowBox[{
   ButtonBox["UnitCellTransformation",
    BaseStyle->"Link",
    ButtonData->"paclet:MaXrd/ref/UnitCellTransformation"], "[", 
   RowBox[{
    StyleBox["crystal", "TI"], ",", 
    StyleBox["group", "TI"]}], "]"}]], "InlineFormula",ExpressionUUID->
  "129b8ba8-73b3-4c3c-a00c-965a76f56582"],
 "\[LineSeparator]transforms the unit cell of ",
 Cell[BoxData[
  StyleBox["crystal", "TI"]], "InlineFormula",ExpressionUUID->
  "d3bf948e-44a2-49f6-8902-9f28b26f3405"],
 " to the target space group ",
 Cell[BoxData[
  StyleBox["group", "TI"]], "InlineFormula",ExpressionUUID->
  "41c66a86-d308-4f00-9518-36ebf4933a94"],
 "."
}], "Usage",
 CellChangeTimes->{{3.7053070208880043`*^9, 3.705307034529928*^9}, {
  3.705307081717647*^9, 3.70530710990786*^9}, {3.705307143424719*^9, 
  3.705307196374763*^9}, {3.705307244369405*^9, 3.705307254852737*^9}, {
  3.705307361211706*^9, 3.7053074798344717`*^9}, {3.705308481917841*^9, 
  3.705308482043908*^9}, {3.7153357772445993`*^9, 3.7153357804538517`*^9}, {
  3.717491926291292*^9, 3.717491930487969*^9}},
 CellID->982511436,ExpressionUUID->"f50dc0a6-a5b1-4cf8-a55f-287c705c150d"],

Cell[TextData[{
 "One can specify a custom transformation with the setting ",
 Cell[BoxData[
  FormBox[
   RowBox[{
    StyleBox["\"\<CustomP\>\"", "InlineCode"], "\[Rule]", "P"}], 
   TraditionalForm]], "InlineMath",ExpressionUUID->
  "151cf03d-a506-409b-b6de-1438d26117dc"],
 ", where ",
 Cell[BoxData[
  FormBox["P", TraditionalForm]], "InlineMath",ExpressionUUID->
  "966e2f2e-f104-452d-bf15-7df872ef30aa"],
 " is a ",
 Cell[BoxData[
  FormBox[
   RowBox[{"3", "\[Times]", "3"}], TraditionalForm]], "InlineMath",
  ExpressionUUID->"4f535954-ef7d-4dc6-a6b6-baec4ad6f475"],
 " matrix."
}], "Notes",
 CellChangeTimes->{{3.765770954313637*^9, 3.765770959719284*^9}, {
  3.765771185532395*^9, 3.765771186497993*^9}, {3.765771442246316*^9, 
  3.765771650410787*^9}},
 CellID->1081352006,ExpressionUUID->"fbbab730-8c02-4d58-b578-cea830bb7304"],

Cell["\<\
The function recognises the following setting commands and corresponding \
values:\
\>", "Notes",
 CellChangeTimes->{{3.6844703410953827`*^9, 3.684470409645145*^9}, {
  3.684470468310255*^9, 3.684470541698752*^9}, {3.684470572668621*^9, 
  3.684470596263082*^9}, {3.6844761199610977`*^9, 3.684476134707439*^9}, {
  3.684476197855721*^9, 3.684476232972025*^9}, {3.705307700121677*^9, 
  3.705307738622407*^9}, {3.705307924434297*^9, 3.7053079317122993`*^9}, {
  3.705307963301304*^9, 3.705307978472678*^9}, {3.7053747901892242`*^9, 
  3.7053747949211082`*^9}},
 CellID->179929223,ExpressionUUID->"e079f330-b9b0-4fda-a64b-efd48c7483f1"],

Cell[BoxData[GridBox[{
   {Cell["      ", "ModInfo",ExpressionUUID->
     "a0503fce-2fae-44b9-83df-76ac56956dc1"], "\"\<AxisPermutation\>\"", Cell[
    "{\"abc\",\"ba-c\",\"cab\",\"-cba\",\"bca\",\"a-cb\"}", "InlineCode",
     ExpressionUUID->"79ce8684-02cd-4c6d-a84c-31be6857aaa1"], 
    StyleBox[Cell[
     "orthorhombic", "TableText",ExpressionUUID->
      "9ed1e439-6696-47ce-bc82-fe711ba68f0f"], "Notes"]},
   {Cell["      ", "ModInfo",ExpressionUUID->
     "381904c1-7448-49a2-9f87-96efffda8cce"], "\"\<CellCentring\>\"", Cell[
    "{\"P\",\"A\",\"B\",\"C\",\"F\",\"I\"}", "InlineCode",ExpressionUUID->
     "bab086e8-5e1e-4097-a832-2a075bf23c45"], 
    StyleBox[Cell[
     "triclinic, orthorhombic, tetragonal, cubic", "TableText",
      ExpressionUUID->"9035f11e-157b-454d-b096-32876672b610"], "Notes"]},
   {Cell["      ", "ModInfo",ExpressionUUID->
     "3fbfa6be-7049-4f68-8514-05eb51566bf1"], "\"\<CellChoice\>\"", Cell[
    TextData[Cell[BoxData[
    Cell["{1,2,3}", "InlineCode",ExpressionUUID->
      "847fac2e-8aad-4d3f-b6c4-5e5a0a899cab"]],
     CellChangeTimes->{{3.70530868525861*^9, 3.7053086878231163`*^9}, {
      3.705308743650481*^9, 3.705308793502942*^9}},ExpressionUUID->
     "f1e5f05c-1013-499a-a6d6-2889e94f1871"]], "TableText",ExpressionUUID->
     "6f9387ed-f574-4b74-ac18-0da3732a54cc"], 
    StyleBox[Cell[
     "monoclinic", "TableText",ExpressionUUID->
      "1ca5bc72-7b02-4c13-bebf-61362807258e"], "Notes"]},
   {Cell["      ", "ModInfo",ExpressionUUID->
     "1ad72f0a-5554-4b9d-ab49-243ea1654cd5"], "\"\<CellOrigin\>\"", Cell[
    TextData[Cell[BoxData[
    Cell["{1,2}", "InlineCode",ExpressionUUID->
      "2a9a7de4-ed2e-41b9-a4e1-d13943eaf0b8"]],
     CellChangeTimes->{{3.70530868525861*^9, 3.7053086878231163`*^9}, {
      3.705308743650481*^9, 3.705308793502942*^9}},ExpressionUUID->
     "2bfedad0-f3fd-46b6-80c1-dd4c6ef9575d"]], "TableText",ExpressionUUID->
     "4548cb79-7aa6-4116-9620-6d342eb948f5"], 
    StyleBox[Cell[
     "orthorhombic, tetragonal, cubic", "TableText",ExpressionUUID->
      "449085ce-c582-4721-b4d3-d305877f2dbf"], "Notes"]},
   {Cell["      ", "ModInfo",ExpressionUUID->
     "bcfc8452-162b-4de6-a6ee-66acafc4d620"], "\"\<MultipleCell\>\"", Cell[
    "(see table below)", "TableText",ExpressionUUID->
     "0b9fa5a7-3caa-4b5a-86a0-ba95ec763c40"], 
    StyleBox[Cell[
     "tetragonal, trigonal, hexagonal", "TableText",ExpressionUUID->
      "e34352c3-9978-4e5d-9d55-c7e39b0ad7d7"], "Notes"]},
   {Cell["      ", "ModInfo",ExpressionUUID->
     "051166b3-7695-4abc-b845-72ea9255e989"], "\"\<RhombohedralSetting\>\"", 
    Cell[TextData[Cell[BoxData[
    Cell["{\"obverse\",\"reverse\"}", "InlineCode",ExpressionUUID->
      "77a615b3-e62d-463d-873e-a76c57b41317"]],
     CellChangeTimes->{{3.70530868525861*^9, 3.7053086878231163`*^9}, {
      3.705308743650481*^9, 3.705308846651785*^9}},ExpressionUUID->
     "80f0f267-8f3f-4fe9-8d92-b5641ab561ef"]], "TableText",ExpressionUUID->
     "f76700c9-78ad-48c5-a4f6-09a843d29f23"], 
    StyleBox[Cell[
     "trigonal (triple hexagonal cells only)", "TableText",ExpressionUUID->
      "578b3d30-bd8e-4489-870f-63570071b5ce"], "Notes"]},
   {Cell["      ", "ModInfo",ExpressionUUID->
     "7e6340a9-fbce-458d-947e-710f0bd14656"], "\"\<UniqueAxis\>\"", Cell[
    "{\"a\",\"b\",\"c\"}", "InlineCode",ExpressionUUID->
     "88200748-e36d-41c9-9d11-2ed04c54de5b"], 
    StyleBox[Cell[
     "monoclinic", "TableText",ExpressionUUID->
      "9cf5c7d3-a336-48f1-803f-22ef9ebbcd3c"], "Notes"]}
  }]], "3ColumnTableMod",
 TaggingRules->{"Alphabetized" -> True},
 CellChangeTimes->{{3.70530868525861*^9, 3.7053086878231163`*^9}, {
  3.705308743650481*^9, 3.705308870695207*^9}, {3.705374807247438*^9, 
  3.705374907878545*^9}, {3.705374961106147*^9, 3.70537496428156*^9}, {
  3.705375010116516*^9, 3.7053750133679543`*^9}, {3.7059821391075706`*^9, 
  3.7059821566173763`*^9}, {3.705982336113915*^9, 3.705982422448704*^9}, {
  3.70598955323343*^9, 3.705989555254137*^9}, {3.706345110119665*^9, 
  3.706345117887476*^9}, {3.706935555082872*^9, 3.706935606076559*^9}, {
  3.711698593779579*^9, 3.711698616495162*^9}, {3.711698727342867*^9, 
  3.711698728534155*^9}},
 CellID->1809341154,ExpressionUUID->"093b6b13-2db5-44fc-a0aa-7d6daed38aaa"],

Cell[TextData[{
 "Multiple cells configurations are available for some crystal systems and \
rhombohedral space groups. They are rarely used, except for the hexagonal \
description of rhombohedral unit cells (",
 Cell[BoxData[
 "\"\<R1\>\""], "InlineFormula",ExpressionUUID->
  "2ac342a0-9588-4ccc-8894-b5f6f4a628f6"],
 ")."
}], "Notes",
 CellChangeTimes->{
  3.7053747591250553`*^9, {3.705375045676712*^9, 3.70537505166297*^9}, {
   3.705375241143435*^9, 3.705375270918785*^9}, {3.705375374489006*^9, 
   3.705375400741815*^9}, {3.7059123729628897`*^9, 3.705912450083106*^9}, {
   3.706240585041684*^9, 3.706240585639843*^9}, {3.706345147633195*^9, 
   3.706345148044881*^9}},
 CellID->443141208,ExpressionUUID->"cf5f5995-985d-4020-b4b0-e3c5e64df65b"],

Cell[BoxData[GridBox[{
   {Cell["      ", "ModInfo",ExpressionUUID->
     "11f4b52a-96db-4416-a891-d09705f4436a"], Cell[
    "hexagonal", "TableText",ExpressionUUID->
     "73a57651-d52a-4aa7-adfc-d5ed27055bc8"], Cell[TextData[StyleBox[
    "{\"C1\",\"C2\",\"C3\"}", "InlineCode"]], "TableText",ExpressionUUID->
     "eff54dc4-e693-4f7b-9f6a-aa1a25d0b2da"], Cell[
    "orthohexagonal centred cell", "TableText",ExpressionUUID->
     "f6045d0d-c575-4d86-9451-324ee032972d"]},
   {Cell["      ", "ModInfo",ExpressionUUID->
     "66b73e94-7451-4cd1-98c5-1889c557972f"], Cell[
    "hexagonal", "TableText",ExpressionUUID->
     "0ddc27c0-8078-4c1d-9978-d24dfe7c0c94"], Cell[TextData[Cell[BoxData[
    Cell["{\"H1\",\"H2\",\"H3\"}", "InlineCode",ExpressionUUID->
      "d52fe862-872c-421d-b376-a43cd2e6338f"]],
     CellChangeTimes->{{3.70530868525861*^9, 3.7053086878231163`*^9}, {
      3.705308743650481*^9, 3.705308870695207*^9}, {3.705374807247438*^9, 
      3.705374907878545*^9}, {3.705374961106147*^9, 3.70537496428156*^9}, {
      3.705375010116516*^9, 3.7053750133679543`*^9}},ExpressionUUID->
     "4bb92aa4-2ad1-4e82-9193-27d1304d09b6"]], "TableText",ExpressionUUID->
     "90342784-1b26-407a-b2ca-ed28058b6fec"], Cell[
    "triple hexagonal cells", "TableText",ExpressionUUID->
     "23d75743-8f06-4647-92be-8cd8d2c9468c"]},
   {Cell["      ", "ModInfo",ExpressionUUID->
     "4b9d1758-c424-48e7-abf2-f72556e57b7a"], Cell[
    "hexagonal", "TableText",ExpressionUUID->
     "bcea8710-414b-4b8d-bdf7-e69e56c764d2"], Cell[TextData[StyleBox[
    "{\"D1\",\"D2\"}", "InlineCode"]], "TableText",ExpressionUUID->
     "a962cfb7-6453-47d0-add9-9f5e1b01664a"], Cell[
    "triple rhombohedral cell", "TableText",ExpressionUUID->
     "236cd358-1d20-4484-851b-636b5544884d"]},
   {Cell["      ", "ModInfo",ExpressionUUID->
     "33bb9b21-2e52-4b95-baa1-0a30da809e01"], Cell[
    "rhombohedral", "TableText",ExpressionUUID->
     "5b2b25d8-60e1-4414-82b9-b8e97dd12017"], Cell[TextData[StyleBox[
    "{\"R1\",\"R2\",\"R3\"}", "InlineCode"]], "TableText",ExpressionUUID->
     "e87761f4-8b95-4dac-843d-3b41b3828c81"], Cell[
    "triple hexagonal cell", "TableText",ExpressionUUID->
     "16ec63f0-1fc7-4eee-8412-472d25a1da1f"]},
   {Cell["      ", "ModInfo",ExpressionUUID->
     "f70ce95e-da9e-4f14-87e2-fe4b81351a0e"], Cell[
    "rhombohedral", "TableText",ExpressionUUID->
     "ea2a3b4b-48d3-4309-9b65-acaf0f3b7c7b"], Cell[TextData[StyleBox[
    "\"R\"", "InlineCode"]], "TableText",ExpressionUUID->
     "38d4fe26-88eb-41fd-b4df-50ba6c7f42c4"], Cell[
    "rhombohedral cell", "TableText",ExpressionUUID->
     "32b70082-6867-4dc0-b2dd-31998d33195c"]},
   {Cell["      ", "ModInfo",ExpressionUUID->
     "69c49067-ecb6-40bc-81f8-5ae29c195422"], Cell[
    "rhombohedral", "TableText",ExpressionUUID->
     "f0208ef0-410d-496f-bb89-302ce33418c7"], Cell[TextData[StyleBox[
    "{\"Cb1\",\"Cb2\",\"Cb3\",\"Ac1\",\"Ac2\",\"Ac3\"}", "InlineCode"]], 
     "TableText",ExpressionUUID->"2cfe8ee3-8153-405e-adf9-7166136ea428"], 
    Cell["triple hexagonal to monoclinic cell", "TableText",ExpressionUUID->
     "9e3f68c9-19ce-4404-95d9-89ac83bf0b46"]},
   {Cell["      ", "ModInfo",ExpressionUUID->
     "e96043ac-98e3-41e4-bb3e-7b72ed03ec35"], Cell[
    "rhombohedral", "TableText",ExpressionUUID->
     "84d6be38-18b5-46da-906e-c93e9ea98459"], Cell[TextData[StyleBox[
    "{\"Cb1\",\"Cb2\",\"Cb3\",\"Ac1\",\"Ac2\",\"Ac3\"}", "InlineCode"]], 
     "TableText",ExpressionUUID->"631ab514-3c02-41eb-a1d2-8b3f537a04d5"], 
    Cell["rhombohedral to monoclinic cell", "TableText",ExpressionUUID->
     "2afd6f9a-f5c1-4c2b-916b-2f544445c2a1"]},
   {Cell["      ", "ModInfo",ExpressionUUID->
     "19193ee2-390b-4c51-b633-f2e45c701178"], Cell[
    "tetragonal", "TableText",ExpressionUUID->
     "4bd40f7c-89aa-4559-a4c9-7fa473bd6fa6"], Cell[TextData[StyleBox[
    "{\"P\",\"I\",\"C1\",\"F1\",\"C2\",\"F2\"}", "InlineCode"]], "TableText",
     ExpressionUUID->"02e1afc2-f218-4e9d-a631-0c357a85643c"], Cell[
    "double cells", "TableText",ExpressionUUID->
     "b7de683d-4f97-4389-adad-0b530b98d9ac"]}
  }]], "3ColumnTableMod",
 TaggingRules->{"Alphabetized" -> True},
 CellChangeTimes->{{3.711690317950533*^9, 3.7116904876101*^9}, {
  3.711969823166321*^9, 3.711969826590498*^9}},
 CellID->856829393,ExpressionUUID->"5edf1849-9144-4a46-99b4-86c81bb959a8"],

Cell[TextData[{
 "The function has an option to return the particular transformation matrix \
",
 Cell[BoxData[
  FormBox["P", TraditionalForm]], "InlineMath",ExpressionUUID->
  "cd0fc0b7-96aa-4e12-8fe6-8bf8b4827bc4"],
 "; use the command ",
 Cell[BoxData[
  RowBox[{"\"\<ReturnP\>\"", "\[Rule]", 
   ButtonBox["True",
    BaseStyle->"Link",
    ButtonData->"paclet:ref/True"]}]], "InlineFormula",ExpressionUUID->
  "54070ed1-5f68-4900-b1fe-c7a3fa22741a"],
 ". Default setting is ",
 Cell[BoxData[
  ButtonBox["False",
   BaseStyle->"Link",
   ButtonData->"paclet:ref/False"]], "InlineFormula",ExpressionUUID->
  "f3dbeb22-478b-40a0-8699-cc1e75566d82"],
 ". If this matrix is returned, the transformation is not carried out. By \
setting ",
 Cell[BoxData[
  RowBox[{"\"\<ReturnP\>\"", "\[Rule]", 
   ButtonBox["All",
    BaseStyle->"Link",
    ButtonData->"paclet:ref/All"]}]], "InlineFormula",ExpressionUUID->
  "fa2749ff-f100-492b-b1f6-99026e321718"],
 ", a list of all the matrices comprising the final transformation matrix ",
 Cell[BoxData[
  FormBox["P", TraditionalForm]], "InlineMath",ExpressionUUID->
  "76ef05ed-57a4-4b94-8abd-e8060e7850aa"],
 " will be returned."
}], "Notes",
 CellChangeTimes->{{3.705912467657864*^9, 3.705912589876833*^9}, {
  3.7120404059345016`*^9, 3.7120404272869368`*^9}, {3.725942235669135*^9, 
  3.725942303284375*^9}, {3.7259423757468576`*^9, 3.725942396635911*^9}},
 CellID->2119178073,ExpressionUUID->"4f9cc6dc-85df-41a9-a02a-55124d22449d"],

Cell[TextData[{
 "As an alternative to specifying the setting, one can enter the target space \
group, and the function will automatically find the correct settings (e.g. ",
 Cell[BoxData["\<\"P 1 21/n 1\"\>"], "InlineFormula",ExpressionUUID->
  "2c61ea58-5122-4c0a-ae53-28a842aba3d1"],
 " has unique axis ",
 Cell[BoxData[
  FormBox["b", TraditionalForm]], "InlineMath",ExpressionUUID->
  "d74bf4f3-4022-4064-bf13-5c1387c3f9c5"],
 " and cell choice ",
 Cell[BoxData[
  FormBox["2", TraditionalForm]], "InlineMath",ExpressionUUID->
  "52196525-21ce-420f-949c-62c483991d60"],
 "). One can also use the unique Hall symbol."
}], "Notes",
 CellChangeTimes->{{3.705393420772913*^9, 3.7053935753696423`*^9}, {
  3.712040366220405*^9, 3.7120403785619087`*^9}},
 CellID->266054275,ExpressionUUID->"d556b0ea-fe65-4f06-a049-762b0d09fcfb"],

Cell[TextData[{
 "Applying this function will mutate the ",
 Cell[BoxData[
  StyleBox["crystal", "TI"]], "InlineFormula",ExpressionUUID->
  "b857a6c0-4734-40e6-8ab9-c65a9a7e6614"],
 " entry in ",
 Cell[BoxData[
  ButtonBox["$CrystalData",
   BaseStyle->"Link",
   ButtonData->"paclet:MaXrd/ref/$CrystalData"]], "InlineFormula",
  ExpressionUUID->"85cb72ae-a277-400c-ae95-d6a7bda236d5"],
 " with the transformed values."
}], "Notes",
 CellChangeTimes->{{3.705377671382272*^9, 3.7053777386284*^9}, {
  3.780136865210629*^9, 3.780136865880618*^9}, {3.7870556980585527`*^9, 
  3.787055698759345*^9}},
 CellID->158694970,ExpressionUUID->"695ad1cc-0b8b-41de-9a6d-3251d9d26cab"],

Cell[TextData[{
 "The settings are not case sensitive. One can also for instance use ",
 Cell[BoxData["\<\"A\!\(\*OverscriptBox[\(C\), \(_\)]\)B\"\>"], 
  "InlineFormula",ExpressionUUID->"c9f60132-f660-4f29-b6fc-baddb539904f"],
 ", ",
 Cell[BoxData["\<\"a\!\(\*OverscriptBox[\(c\), \(_\)]\)b\"\>"], 
  "InlineFormula",ExpressionUUID->"258cd257-5551-4898-bbdf-32117a171717"],
 " or ",
 Cell[BoxData["\<\"A-CB\"\>"], "InlineFormula",ExpressionUUID->
  "b5ff736b-972e-4a5e-acba-c601c6b3ae14"],
 " instead of ",
 Cell[BoxData[
 "\"\<a-cb\>"], "InlineFormula",ExpressionUUID->
  "a34030af-1d6e-4428-b221-9859185e1a72"],
 "\"."
}], "Notes",
 CellChangeTimes->{{3.7053945061797256`*^9, 3.7053947156338*^9}, {
  3.705982173654607*^9, 3.7059821970760202`*^9}, {3.705982227287278*^9, 
  3.705982273214943*^9}},
 CellID->344559116,ExpressionUUID->"8e0ddd9e-aada-46e5-b0bf-045a6c616c9d"],

Cell[TextData[{
 "When a crystal entry is transformed to a special multiple cell or a \
different cell centring, information about this will be added to the ",
 Cell[BoxData[
 "\"\<Notes\>\""], "InlineFormula",ExpressionUUID->
  "202f3068-8158-43cc-80b3-780e593330a6"],
 " sub-entry in ",
 Cell[BoxData[
  ButtonBox["$CrystalData",
   BaseStyle->"Link",
   ButtonData->"paclet:MaXrd/ref/$CrystalData"]], "InlineFormula",
  ExpressionUUID->"6a685b53-8edd-489c-ae73-abf5692fb09c"],
 ". If the crystal entry is transformed again later, this information will be \
used to ascertain the correct starting position."
}], "Notes",
 CellChangeTimes->{{3.7118810080357637`*^9, 3.711881192708403*^9}, {
  3.744170239523342*^9, 3.744170244520327*^9}, {3.780119564384429*^9, 
  3.780119589660425*^9}},
 CellID->465380681,ExpressionUUID->"c4d88e1f-a4c3-4f4f-ab38-44b1e2bc82f5"]
}, Open  ]],

Cell[CellGroupData[{

Cell["Tutorials", "TutorialsSection",
 CellID->250839057,ExpressionUUID->"7ff8a027-c53c-46c7-8bd2-6ffb7875f0d7"],

Cell["XXXX", "Tutorials",
 CellID->341631938,ExpressionUUID->"a2a40f4c-3342-4c94-914b-a5d1425bce06"]
}, Open  ]],

Cell[CellGroupData[{

Cell["Related Demonstrations", "RelatedDemonstrationsSection",
 CellID->1268215905,ExpressionUUID->"e023c1a4-8be8-4c17-ae69-f7e9d3ce1a98"],

Cell["XXXX", "RelatedDemonstrations",
 CellID->1129518860,ExpressionUUID->"d08bb781-bf3d-4a42-b56e-e478ceb1d189"]
}, Open  ]],

Cell[CellGroupData[{

Cell["Related Links", "RelatedLinksSection",
 CellID->1584193535,ExpressionUUID->"b3c2744e-8ae9-4afa-97d0-d40d81e9272e"],

Cell["XXXX", "RelatedLinks",
 CellID->1038487239,ExpressionUUID->"dd98338a-64ff-458a-92e6-f07c33354689"]
}, Open  ]],

Cell[CellGroupData[{

Cell["See Also", "SeeAlsoSection",
 CellID->1255426704,ExpressionUUID->"4ada1134-c0a7-4c6f-8b5c-1758f272d070"],

Cell[TextData[{
 Cell[BoxData[
  ButtonBox["$CrystalData",
   BaseStyle->"Link",
   ButtonData->"paclet:MaXrd/ref/$CrystalData"]], "InlineFormula",
  ExpressionUUID->"784c03f6-17f4-4bd8-8732-651c0adf9e09"],
 " \[EmptyVerySmallSquare] ",
 Cell[BoxData[
  ButtonBox["$TransformationMatrices",
   BaseStyle->"Link",
   ButtonData->"paclet:MaXrd/ref/$TransformationMatrices"]], "InlineFormula",
  ExpressionUUID->"1ef49d3f-e237-4180-96cf-658b438f4032"],
 " \[EmptyVerySmallSquare] ",
 Cell[BoxData[
  ButtonBox["ToStandardSetting",
   BaseStyle->"Link",
   ButtonData->"paclet:MaXrd/ref/ToStandardSetting"]], "InlineFormula",
  ExpressionUUID->"ee289a6c-597a-4424-bba8-797f06291ce1"],
 " \[EmptyVerySmallSquare] ",
 Cell[BoxData[
  ButtonBox["GetSymmetryData",
   BaseStyle->"Link",
   ButtonData->"paclet:MaXrd/ref/GetSymmetryData"]], "InlineFormula",
  ExpressionUUID->"e3d3caef-675c-4b3d-ad90-63dea7b431ff"],
 " \[EmptyVerySmallSquare] ",
 Cell[BoxData[
  ButtonBox["GetCrystalMetric",
   BaseStyle->"Link",
   ButtonData->"paclet:MaXrd/ref/GetCrystalMetric"]], "InlineFormula",
  ExpressionUUID->"3fbe1ccd-0de4-4b95-aa7e-02588bd71637"],
 " \[EmptyVerySmallSquare] ",
 Cell[BoxData[
  ButtonBox["$SpaceGroups",
   BaseStyle->"Link",
   ButtonData->"paclet:MaXrd/ref/$SpaceGroups"]], "InlineFormula",
  ExpressionUUID->"91c4a5d3-a144-42ae-985f-54ef6f5c97c4"],
 " \[EmptyVerySmallSquare] ",
 Cell[BoxData[
  ButtonBox["GetLatticeParameters",
   BaseStyle->"Link",
   ButtonData->"paclet:MaXrd/ref/GetLatticeParameters"]], "InlineFormula",
  ExpressionUUID->"39621dd6-5019-485a-b574-55a4caf5cce0"]
}], "SeeAlso",
 CellChangeTimes->{{3.7053075396503153`*^9, 3.705307548199028*^9}, {
  3.7304026576792727`*^9, 3.7304026851812277`*^9}, {3.737968483918455*^9, 
  3.737968509900378*^9}, {3.737968558864552*^9, 3.7379685588647947`*^9}},
 CellID->929782353,ExpressionUUID->"3c53c11f-9a88-44c3-946e-df2831a6b88d"]
}, Open  ]],

Cell[CellGroupData[{

Cell["More About", "MoreAboutSection",
 CellID->38303248,ExpressionUUID->"f337e54c-a19f-4f53-b649-9b17dc2556a4"],

Cell["XXXX", "MoreAbout",
 CellID->1665078683,ExpressionUUID->"3e1abe62-6607-4a14-a4c6-b05a72f870a7"]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
 InterpretationBox[GridBox[{
    {
     StyleBox["Examples", "PrimaryExamplesSection"], 
     ButtonBox[
      RowBox[{
       RowBox[{"More", " ", "Examples"}], " ", "\[RightTriangle]"}],
      BaseStyle->"ExtendedExamplesLink",
      ButtonData:>"ExtendedExamples"]}
   }],
  $Line = 0; Null]], "PrimaryExamplesSection",
 CellID->880084151,ExpressionUUID->"2c01f331-34fc-43bf-bb67-2d6b15351065"],

Cell[TextData[{
 "Let us import data on the crystal ",
 StyleBox["ferrocene",
  FontSlant->"Italic"],
 ":"
}], "ExampleText",
 CellChangeTimes->{{3.718441801242179*^9, 3.7184418130003767`*^9}},
 CellID->1457080377,ExpressionUUID->"6c2b9849-6f99-40e0-8f6e-c9649fd2215c"],

Cell[CellGroupData[{

Cell[BoxData[{
 RowBox[{
  RowBox[{"cif", "=", 
   RowBox[{"FileNameJoin", "[", 
    RowBox[{"{", 
     RowBox[{
     "$MaXrdPath", ",", "\"\<ExampleFiles\>\"", ",", "\"\<CIF\>\"", ",", 
      "\"\<Ferrocene.cif\>\""}], "}"}], "]"}]}], ";"}], "\[IndentingNewLine]", 
 RowBox[{"ImportCrystalData", "[", "cif", "]"}]}], "Input",
 CellChangeTimes->{{3.71844193137656*^9, 3.718441947147065*^9}, 
   3.74386542288028*^9},
 CellLabel->"In[1]:=",
 CellID->1813829567,ExpressionUUID->"017b6c1f-af91-4d6c-a729-c9e3882ff3c1"],

Cell[BoxData[
 RowBox[{"{", 
  RowBox[{
   RowBox[{"\<\"ChemicalFormula\"\>", 
    "\[Rule]", "\<\"\\!\\(\\*SubscriptBox[\\(C\\), \
\\(10\\)]\\)\\!\\(\\*SubscriptBox[\\(H\\), \\(10\\)]\\)Fe\"\>"}], ",", 
   RowBox[{"\<\"FormulaUnits\"\>", "\[Rule]", "2"}], ",", 
   RowBox[{"\<\"SpaceGroup\"\>", 
    "\[Rule]", "\<\"\\!\\(\\*SubscriptBox[\\(P2\\), \\(1\\)]\\)/n\"\>"}], ",", 
   RowBox[{"\<\"LatticeParameters\"\>", "\[Rule]", 
    RowBox[{"\[LeftAssociation]", 
     RowBox[{
      RowBox[{"\<\"a\"\>", "\[Rule]", 
       TemplateBox[{
        "5.9285`","\"\[CapitalARing]\"","\[ARing]ngstr\[ODoubleDot]ms",
         "\"Angstroms\""},
        "Quantity"]}], ",", 
      RowBox[{"\<\"b\"\>", "\[Rule]", 
       TemplateBox[{
        "7.612`","\"\[CapitalARing]\"","\[ARing]ngstr\[ODoubleDot]ms",
         "\"Angstroms\""},
        "Quantity"]}], ",", 
      RowBox[{"\<\"c\"\>", "\[Rule]", 
       TemplateBox[{
        "9.041`","\"\[CapitalARing]\"","\[ARing]ngstr\[ODoubleDot]ms",
         "\"Angstroms\""},
        "Quantity"]}], ",", 
      RowBox[{"\<\"\[Alpha]\"\>", "\[Rule]", 
       TemplateBox[{
        "90",RowBox[{"\[InvisibleSpace]", "\"\[Degree]\""}],"degrees",
         "\"AngularDegrees\""},
        "QuantityPostfix"]}], ",", 
      RowBox[{"\<\"\[Beta]\"\>", "\[Rule]", 
       TemplateBox[{
        "93.156`",RowBox[{"\[InvisibleSpace]", "\"\[Degree]\""}],"degrees",
         "\"AngularDegrees\""},
        "QuantityPostfix"]}], ",", 
      RowBox[{"\<\"\[Gamma]\"\>", "\[Rule]", 
       TemplateBox[{
        "90",RowBox[{"\[InvisibleSpace]", "\"\[Degree]\""}],"degrees",
         "\"AngularDegrees\""},
        "QuantityPostfix"]}]}], "\[RightAssociation]"}]}], ",", 
   RowBox[{"\<\"Wavelength\"\>", "\[Rule]", 
    TemplateBox[{
     "0.69804`","\"\[CapitalARing]\"","\[ARing]ngstr\[ODoubleDot]ms",
      "\"Angstroms\""},
     "Quantity"]}], ",", 
   RowBox[{"\<\"AtomData\"\>", "\[Rule]", 
    RowBox[{"{", 
     RowBox[{"\[LeftSkeleton]", "11", "\[RightSkeleton]"}], "}"}]}]}], 
  "}"}]], "Output",
 CellChangeTimes->{
  3.718441952544483*^9, 3.730402450956313*^9, {3.73048764024*^9, 
   3.730487649435824*^9}},
 CellLabel->"Out[2]=",
 CellID->1377650363,ExpressionUUID->"1dc11f87-85fc-4d2b-9a90-5cff245da605"]
}, Open  ]],

Cell["\<\
Specify the transformation by the unique axis and cell choice of the target \
cell:\
\>", "ExampleText",
 CellChangeTimes->{{3.705394115251582*^9, 3.7053941256585283`*^9}, {
  3.705394189260818*^9, 3.705394202688375*^9}},
 CellID->1613748649,ExpressionUUID->"106b018a-41c2-4ffc-b0be-58fa8229e40b"],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{"UnitCellTransformation", "[", 
  RowBox[{"\"\<Ferrocene\>\"", ",", 
   RowBox[{"\"\<UniqueAxis\>\"", "\[Rule]", "\"\<a\>\""}], ",", 
   RowBox[{"\"\<CellChoice\>\"", "\[Rule]", "2"}]}], "]"}]], "Input",
 CellChangeTimes->{{3.705394204870112*^9, 3.705394221646339*^9}},
 CellLabel->"In[3]:=",
 CellID->1440470077,ExpressionUUID->"e0e76c72-4f1a-424f-b732-30963486f974"],

Cell[BoxData[
 RowBox[{"{", 
  RowBox[{
   RowBox[{"\<\"ChemicalFormula\"\>", 
    "\[Rule]", "\<\"\\!\\(\\*SubscriptBox[\\(C\\), \
\\(10\\)]\\)\\!\\(\\*SubscriptBox[\\(H\\), \\(10\\)]\\)Fe\"\>"}], ",", 
   RowBox[{"\<\"FormulaUnits\"\>", "\[Rule]", "2"}], ",", 
   RowBox[{"\<\"SpaceGroup\"\>", "\[Rule]", "\<\"P 21/n 1 1\"\>"}], ",", 
   RowBox[{"\<\"LatticeParameters\"\>", "\[Rule]", 
    RowBox[{"\[LeftAssociation]", 
     RowBox[{
      RowBox[{"\<\"a\"\>", "\[Rule]", 
       TemplateBox[{
        "7.612`","\"\[CapitalARing]\"","\[ARing]ngstr\[ODoubleDot]ms",
         "\"Angstroms\""},
        "Quantity"]}], ",", 
      RowBox[{"\<\"b\"\>", "\[Rule]", 
       TemplateBox[{
        "9.041`","\"\[CapitalARing]\"","\[ARing]ngstr\[ODoubleDot]ms",
         "\"Angstroms\""},
        "Quantity"]}], ",", 
      RowBox[{"\<\"c\"\>", "\[Rule]", 
       TemplateBox[{
        "5.9285`","\"\[CapitalARing]\"","\[ARing]ngstr\[ODoubleDot]ms",
         "\"Angstroms\""},
        "Quantity"]}], ",", 
      RowBox[{"\<\"\[Alpha]\"\>", "\[Rule]", 
       TemplateBox[{
        "93.156`",RowBox[{"\[InvisibleSpace]", "\"\[Degree]\""}],"degrees",
         "\"AngularDegrees\""},
        "QuantityPostfix"]}], ",", 
      RowBox[{"\<\"\[Beta]\"\>", "\[Rule]", 
       TemplateBox[{
        "90",RowBox[{"\[InvisibleSpace]", "\"\[Degree]\""}],"degrees",
         "\"AngularDegrees\""},
        "QuantityPostfix"]}], ",", 
      RowBox[{"\<\"\[Gamma]\"\>", "\[Rule]", 
       TemplateBox[{
        "90",RowBox[{"\[InvisibleSpace]", "\"\[Degree]\""}],"degrees",
         "\"AngularDegrees\""},
        "QuantityPostfix"]}]}], "\[RightAssociation]"}]}], ",", 
   RowBox[{"\<\"Wavelength\"\>", "\[Rule]", 
    TemplateBox[{
     "0.69804`","\"\[CapitalARing]\"","\[ARing]ngstr\[ODoubleDot]ms",
      "\"Angstroms\""},
     "Quantity"]}], ",", 
   RowBox[{"\<\"AtomData\"\>", "\[Rule]", 
    RowBox[{"{", 
     RowBox[{"\[LeftSkeleton]", "11", "\[RightSkeleton]"}], "}"}]}]}], 
  "}"}]], "Output",
 CellChangeTimes->{{3.705394222012336*^9, 3.705394235437676*^9}, 
   3.705912655252954*^9, 3.7124665190790253`*^9, {3.71246695269105*^9, 
   3.712466955535315*^9}, {3.714923852613247*^9, 3.714923857553027*^9}, 
   3.714924172997653*^9, 3.7149254380697317`*^9, {3.718441866667074*^9, 
   3.718441885464233*^9}, 3.718441952717288*^9, 3.7304024531745453`*^9, {
   3.73048764238127*^9, 3.7304876496107264`*^9}},
 CellLabel->"Out[3]=",
 CellID->968987,ExpressionUUID->"8cb2adfc-1d8a-4b92-8324-687250409dfe"]
}, Open  ]],

Cell[TextData[{
 "We can also enter the target space group, for example ",
 Cell[BoxData[
  FormBox[
   RowBox[{"P", "\[VeryThinSpace]", 
    RowBox[{
     SubscriptBox["2", "1"], "\[NegativeMediumSpace]", "/", "c"}]}], 
   TraditionalForm]], "InlineMath",ExpressionUUID->
  "a5e1028b-a286-4d09-805c-6f523381d00d"],
 ":"
}], "ExampleText",
 CellChangeTimes->{{3.714923807698457*^9, 3.71492383692065*^9}, {
  3.730402458841236*^9, 3.730402475644088*^9}},
 CellID->83868485,ExpressionUUID->"7e419e41-b421-4371-9ece-34428a22e626"],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{"UnitCellTransformation", "[", 
  RowBox[{
  "\"\<Ferrocene\>\"", ",", "\"\<\!\(\*SubscriptBox[\(P2\), \(1\)]\)/c\>\""}],
   "]"}]], "Input",
 CellLabel->"In[4]:=",
 CellID->651903697,ExpressionUUID->"1f4fba3f-d7a0-4ba9-b0c4-e138d2b02ae9"],

Cell[BoxData[
 RowBox[{"{", 
  RowBox[{
   RowBox[{"\<\"ChemicalFormula\"\>", 
    "\[Rule]", "\<\"\\!\\(\\*SubscriptBox[\\(C\\), \
\\(10\\)]\\)\\!\\(\\*SubscriptBox[\\(H\\), \\(10\\)]\\)Fe\"\>"}], ",", 
   RowBox[{"\<\"FormulaUnits\"\>", "\[Rule]", "2"}], ",", 
   RowBox[{"\<\"SpaceGroup\"\>", 
    "\[Rule]", "\<\"\\!\\(\\*SubscriptBox[\\(P2\\), \\(1\\)]\\)/c\"\>"}], ",", 
   RowBox[{"\<\"LatticeParameters\"\>", "\[Rule]", 
    RowBox[{"\[LeftAssociation]", 
     RowBox[{
      RowBox[{"\<\"a\"\>", "\[Rule]", 
       TemplateBox[{
        "9.041`","\"\[CapitalARing]\"","\[ARing]ngstr\[ODoubleDot]ms",
         "\"Angstroms\""},
        "Quantity"]}], ",", 
      RowBox[{"\<\"b\"\>", "\[Rule]", 
       TemplateBox[{
        "7.612`","\"\[CapitalARing]\"","\[ARing]ngstr\[ODoubleDot]ms",
         "\"Angstroms\""},
        "Quantity"]}], ",", 
      RowBox[{"\<\"c\"\>", "\[Rule]", 
       TemplateBox[{
        "10.534940555671229`","\"\[CapitalARing]\"",
         "\[ARing]ngstr\[ODoubleDot]ms","\"Angstroms\""},
        "Quantity"]}], ",", 
      RowBox[{"\<\"\[Alpha]\"\>", "\[Rule]", 
       TemplateBox[{
        "90",RowBox[{"\[InvisibleSpace]", "\"\[Degree]\""}],"degrees",
         "\"AngularDegrees\""},
        "QuantityPostfix"]}], ",", 
      RowBox[{"\<\"\[Beta]\"\>", "\[Rule]", 
       TemplateBox[{
        "145.81319317157215`",RowBox[{"\[InvisibleSpace]", "\"\[Degree]\""}],
         "degrees","\"AngularDegrees\""},
        "QuantityPostfix"]}], ",", 
      RowBox[{"\<\"\[Gamma]\"\>", "\[Rule]", 
       TemplateBox[{
        "90",RowBox[{"\[InvisibleSpace]", "\"\[Degree]\""}],"degrees",
         "\"AngularDegrees\""},
        "QuantityPostfix"]}]}], "\[RightAssociation]"}]}], ",", 
   RowBox[{"\<\"Wavelength\"\>", "\[Rule]", 
    TemplateBox[{
     "0.69804`","\"\[CapitalARing]\"","\[ARing]ngstr\[ODoubleDot]ms",
      "\"Angstroms\""},
     "Quantity"]}], ",", 
   RowBox[{"\<\"AtomData\"\>", "\[Rule]", 
    RowBox[{"{", 
     RowBox[{"\[LeftSkeleton]", "11", "\[RightSkeleton]"}], "}"}]}]}], 
  "}"}]], "Output",
 CellChangeTimes->{
  3.7149239260878267`*^9, {3.7149254317837687`*^9, 3.714925438800205*^9}, {
   3.718441874471517*^9, 3.718441885679315*^9}, 3.718441952948306*^9, 
   3.730402484226384*^9, {3.730487644686854*^9, 3.7304876498359623`*^9}},
 CellLabel->"Out[4]=",
 CellID->1253378980,ExpressionUUID->"bb183f7c-14e4-4371-b74c-273e56113ab8"]
}, Open  ]]
}, Open  ]],

Cell[CellGroupData[{

Cell["More Examples", "ExtendedExamplesSection",
 CellTags->"ExtendedExamples",
 CellID->1854448968,ExpressionUUID->"b806d5e1-b7e0-4724-9315-0f349bc78cc6"],

Cell[CellGroupData[{

Cell[BoxData[
 InterpretationBox[Cell[
  "Scope", "ExampleSection",ExpressionUUID->
   "edb41c74-1102-48ea-8687-415dede5c449"],
  $Line = 0; Null]], "ExampleSection",
 CellID->1293636265,ExpressionUUID->"1702c27e-5002-4e14-8aad-b06a32307320"],

Cell[TextData[{
 "Now we wish to work with the ",
 StyleBox["rhombohedral",
  FontSlant->"Italic"],
 " clathrate thiourea-ferrocene:"
}], "ExampleText",
 CellChangeTimes->{{3.780127539856179*^9, 3.780127566229684*^9}},
 CellID->658661185,ExpressionUUID->"71e3766b-bc8b-4462-8f5a-a219dd0efe00"],

Cell[CellGroupData[{

Cell[BoxData[{
 RowBox[{
  RowBox[{"cif", "=", 
   RowBox[{"FileNameJoin", "[", 
    RowBox[{"{", 
     RowBox[{
     "$MaXrdPath", ",", "\"\<ExampleFiles\>\"", ",", "\"\<CIF\>\"", ",", 
      "\"\<ThioureaFerrocene.cif\>\""}], "}"}], "]"}]}], 
  ";"}], "\[IndentingNewLine]", 
 RowBox[{"ImportCrystalData", "[", "cif", "]"}]}], "Input",
 CellChangeTimes->{{3.71844193137656*^9, 3.718441947147065*^9}, 
   3.74386542288028*^9, {3.780127461050415*^9, 3.780127461937358*^9}},
 CellLabel->"In[1]:=",
 CellID->1014259112,ExpressionUUID->"21eb6c95-ba34-420f-9820-cd89e344f5f1"],

Cell[BoxData[
 RowBox[{"{", 
  RowBox[{
   RowBox[{"\<\"ChemicalFormula\"\>", 
    "\[Rule]", "\<\"\\!\\(\\*SubscriptBox[\\(C\\), \
\\(13\\)]\\)\\!\\(\\*SubscriptBox[\\(H\\), \
\\(22\\)]\\)Fe\\!\\(\\*SubscriptBox[\\(N\\), \
\\(6\\)]\\)\\!\\(\\*SubscriptBox[\\(S\\), \\(3\\)]\\)\"\>"}], ",", 
   RowBox[{"\<\"FormulaUnits\"\>", "\[Rule]", "6"}], ",", 
   RowBox[{"\<\"SpaceGroup\"\>", 
    "\[Rule]", "\<\"R\\!\\(\\*OverscriptBox[\\(3\\), \\(_\\)]\\)c\"\>"}], ",", 
   RowBox[{"\<\"LatticeParameters\"\>", "\[Rule]", 
    RowBox[{"\[LeftAssociation]", 
     RowBox[{
      RowBox[{"\<\"a\"\>", "\[Rule]", 
       TemplateBox[{
        "16.3249`","\"\[CapitalARing]\"","\[ARing]ngstr\[ODoubleDot]ms",
         "\"Angstroms\""},
        "Quantity"]}], ",", 
      RowBox[{"\<\"b\"\>", "\[Rule]", 
       TemplateBox[{
        "16.3249`","\"\[CapitalARing]\"","\[ARing]ngstr\[ODoubleDot]ms",
         "\"Angstroms\""},
        "Quantity"]}], ",", 
      RowBox[{"\<\"c\"\>", "\[Rule]", 
       TemplateBox[{
        "12.4163`","\"\[CapitalARing]\"","\[ARing]ngstr\[ODoubleDot]ms",
         "\"Angstroms\""},
        "Quantity"]}], ",", 
      RowBox[{"\<\"\[Alpha]\"\>", "\[Rule]", 
       TemplateBox[{
        "90",RowBox[{"\[InvisibleSpace]", "\"\[Degree]\""}],"degrees",
         "\"AngularDegrees\""},
        "QuantityPostfix"]}], ",", 
      RowBox[{"\<\"\[Beta]\"\>", "\[Rule]", 
       TemplateBox[{
        "90",RowBox[{"\[InvisibleSpace]", "\"\[Degree]\""}],"degrees",
         "\"AngularDegrees\""},
        "QuantityPostfix"]}], ",", 
      RowBox[{"\<\"\[Gamma]\"\>", "\[Rule]", 
       TemplateBox[{
        "120",RowBox[{"\[InvisibleSpace]", "\"\[Degree]\""}],"degrees",
         "\"AngularDegrees\""},
        "QuantityPostfix"]}]}], "\[RightAssociation]"}]}], ",", 
   RowBox[{"\<\"Wavelength\"\>", "\[Rule]", 
    TemplateBox[{
     "0.69804`","\"\[CapitalARing]\"","\[ARing]ngstr\[ODoubleDot]ms",
      "\"Angstroms\""},
     "Quantity"]}], ",", 
   RowBox[{"\<\"AtomData\"\>", "\[Rule]", 
    RowBox[{"{", 
     RowBox[{"\[LeftSkeleton]", "8", "\[RightSkeleton]"}], "}"}]}]}], 
  "}"}]], "Output",
 CellChangeTimes->{{3.780127463375272*^9, 3.780127468797827*^9}, 
   3.7801275223578377`*^9},
 CellLabel->"Out[2]=",
 CellID->811337585,ExpressionUUID->"0772506b-3fae-44c7-ad03-48e04db25801"]
}, Open  ]],

Cell["\<\
We see that it uses hexagonal axes. To use rhombohedral axes, we can do the \
following:\
\>", "ExampleText",
 CellChangeTimes->{{3.7801275873189287`*^9, 3.780127654483924*^9}},
 CellID->2038090694,ExpressionUUID->"c2322917-e5b0-4af7-96a5-776870026a05"],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{"UnitCellTransformation", "[", 
  RowBox[{"\"\<ThioureaFerrocene\>\"", ",", 
   RowBox[{"\"\<MultipleCell\>\"", "\[Rule]", "\"\<R\>\""}]}], "]"}]], "Input",\

 CellChangeTimes->{{3.705394204870112*^9, 3.705394221646339*^9}, {
  3.780127484954287*^9, 3.7801274934560003`*^9}},
 CellLabel->"In[3]:=",
 CellID->2075189145,ExpressionUUID->"51e85cd9-9d96-414f-a4f4-bb875c25843d"],

Cell[BoxData[
 RowBox[{"{", 
  RowBox[{
   RowBox[{"\<\"ChemicalFormula\"\>", 
    "\[Rule]", "\<\"\\!\\(\\*SubscriptBox[\\(C\\), \
\\(13\\)]\\)\\!\\(\\*SubscriptBox[\\(H\\), \
\\(22\\)]\\)Fe\\!\\(\\*SubscriptBox[\\(N\\), \
\\(6\\)]\\)\\!\\(\\*SubscriptBox[\\(S\\), \\(3\\)]\\)\"\>"}], ",", 
   RowBox[{"\<\"FormulaUnits\"\>", "\[Rule]", "6"}], ",", 
   RowBox[{"\<\"SpaceGroup\"\>", 
    "\[Rule]", "\<\"R\\!\\(\\*OverscriptBox[\\(3\\), \\(_\\)]\\)c\"\>"}], ",", 
   RowBox[{"\<\"LatticeParameters\"\>", "\[Rule]", 
    RowBox[{"\[LeftAssociation]", 
     RowBox[{
      RowBox[{"\<\"a\"\>", "\[Rule]", 
       TemplateBox[{
        "10.29385785429566`","\"\[CapitalARing]\"",
         "\[ARing]ngstr\[ODoubleDot]ms","\"Angstroms\""},
        "Quantity"]}], ",", 
      RowBox[{"\<\"b\"\>", "\[Rule]", 
       TemplateBox[{
        "10.29385785429566`","\"\[CapitalARing]\"",
         "\[ARing]ngstr\[ODoubleDot]ms","\"Angstroms\""},
        "Quantity"]}], ",", 
      RowBox[{"\<\"c\"\>", "\[Rule]", 
       TemplateBox[{
        "10.29385785429566`","\"\[CapitalARing]\"",
         "\[ARing]ngstr\[ODoubleDot]ms","\"Angstroms\""},
        "Quantity"]}], ",", 
      RowBox[{"\<\"\[Alpha]\"\>", "\[Rule]", 
       TemplateBox[{
        "104.92292908076631`",RowBox[{"\[InvisibleSpace]", "\"\[Degree]\""}],
         "degrees","\"AngularDegrees\""},
        "QuantityPostfix"]}], ",", 
      RowBox[{"\<\"\[Beta]\"\>", "\[Rule]", 
       TemplateBox[{
        "104.92292908076631`",RowBox[{"\[InvisibleSpace]", "\"\[Degree]\""}],
         "degrees","\"AngularDegrees\""},
        "QuantityPostfix"]}], ",", 
      RowBox[{"\<\"\[Gamma]\"\>", "\[Rule]", 
       TemplateBox[{
        "104.92292908076631`",RowBox[{"\[InvisibleSpace]", "\"\[Degree]\""}],
         "degrees","\"AngularDegrees\""},
        "QuantityPostfix"]}]}], "\[RightAssociation]"}]}], ",", 
   RowBox[{"\<\"Wavelength\"\>", "\[Rule]", 
    TemplateBox[{
     "0.69804`","\"\[CapitalARing]\"","\[ARing]ngstr\[ODoubleDot]ms",
      "\"Angstroms\""},
     "Quantity"]}], ",", 
   RowBox[{"\<\"AtomData\"\>", "\[Rule]", 
    RowBox[{"{", 
     RowBox[{"\[LeftSkeleton]", "8", "\[RightSkeleton]"}], "}"}]}], ",", 
   RowBox[{"\<\"Notes\"\>", "\[Rule]", 
    RowBox[{"\[LeftAssociation]", 
     RowBox[{"\<\"MultipleCell\"\>", "\[Rule]", "\<\"R\"\>"}], 
     "\[RightAssociation]"}]}]}], "}"}]], "Output",
 CellChangeTimes->{{3.78012749448212*^9, 3.780127524206572*^9}},
 CellLabel->"Out[3]=",
 CellID->693347646,ExpressionUUID->"9db1b85b-cb0a-43d4-90f6-cff7d8090c94"]
}, Open  ]],

Cell[TextData[{
 "To transform back, we can either use ",
 Cell[BoxData[
  RowBox[{"\"\<MultipleCell\>\"", "\[Rule]", "\"\<R1\>\""}]], "InlineFormula",
  ExpressionUUID->"d355658d-1855-4382-9299-ec2e07bc22fb"],
 " or omit any specifications which will return the crystal to the default \
setting of the space group. "
}], "ExampleText",
 CellChangeTimes->{{3.7801276655973577`*^9, 3.780127800228075*^9}},
 CellID->341963236,ExpressionUUID->"aae82de5-bd4d-4e60-8402-fa7ebbe6fda2"],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{"UnitCellTransformation", "[", "\"\<ThioureaFerrocene\>\"", 
  "]"}]], "Input",
 CellChangeTimes->{3.7801275007604427`*^9},
 CellLabel->"In[4]:=",
 CellID->1710381513,ExpressionUUID->"1d8a564d-230f-45ef-91bb-537d8c84701f"],

Cell[BoxData[
 RowBox[{"{", 
  RowBox[{
   RowBox[{"\<\"ChemicalFormula\"\>", 
    "\[Rule]", "\<\"\\!\\(\\*SubscriptBox[\\(C\\), \
\\(13\\)]\\)\\!\\(\\*SubscriptBox[\\(H\\), \
\\(22\\)]\\)Fe\\!\\(\\*SubscriptBox[\\(N\\), \
\\(6\\)]\\)\\!\\(\\*SubscriptBox[\\(S\\), \\(3\\)]\\)\"\>"}], ",", 
   RowBox[{"\<\"FormulaUnits\"\>", "\[Rule]", "6"}], ",", 
   RowBox[{"\<\"SpaceGroup\"\>", 
    "\[Rule]", "\<\"R\\!\\(\\*OverscriptBox[\\(3\\), \\(_\\)]\\)c\"\>"}], ",", 
   RowBox[{"\<\"LatticeParameters\"\>", "\[Rule]", 
    RowBox[{"\[LeftAssociation]", 
     RowBox[{
      RowBox[{"\<\"a\"\>", "\[Rule]", 
       TemplateBox[{
        "16.324899999999996`","\"\[CapitalARing]\"",
         "\[ARing]ngstr\[ODoubleDot]ms","\"Angstroms\""},
        "Quantity"]}], ",", 
      RowBox[{"\<\"b\"\>", "\[Rule]", 
       TemplateBox[{
        "16.324899999999996`","\"\[CapitalARing]\"",
         "\[ARing]ngstr\[ODoubleDot]ms","\"Angstroms\""},
        "Quantity"]}], ",", 
      RowBox[{"\<\"c\"\>", "\[Rule]", 
       TemplateBox[{
        "12.416300000000005`","\"\[CapitalARing]\"",
         "\[ARing]ngstr\[ODoubleDot]ms","\"Angstroms\""},
        "Quantity"]}], ",", 
      RowBox[{"\<\"\[Alpha]\"\>", "\[Rule]", 
       TemplateBox[{
        "90",RowBox[{"\[InvisibleSpace]", "\"\[Degree]\""}],"degrees",
         "\"AngularDegrees\""},
        "QuantityPostfix"]}], ",", 
      RowBox[{"\<\"\[Beta]\"\>", "\[Rule]", 
       TemplateBox[{
        "90",RowBox[{"\[InvisibleSpace]", "\"\[Degree]\""}],"degrees",
         "\"AngularDegrees\""},
        "QuantityPostfix"]}], ",", 
      RowBox[{"\<\"\[Gamma]\"\>", "\[Rule]", 
       TemplateBox[{
        "120",RowBox[{"\[InvisibleSpace]", "\"\[Degree]\""}],"degrees",
         "\"AngularDegrees\""},
        "QuantityPostfix"]}]}], "\[RightAssociation]"}]}], ",", 
   RowBox[{"\<\"Wavelength\"\>", "\[Rule]", 
    TemplateBox[{
     "0.69804`","\"\[CapitalARing]\"","\[ARing]ngstr\[ODoubleDot]ms",
      "\"Angstroms\""},
     "Quantity"]}], ",", 
   RowBox[{"\<\"AtomData\"\>", "\[Rule]", 
    RowBox[{"{", 
     RowBox[{"\[LeftSkeleton]", "8", "\[RightSkeleton]"}], "}"}]}]}], 
  "}"}]], "Output",
 CellChangeTimes->{{3.780127501154767*^9, 3.780127528808421*^9}},
 CellLabel->"Out[4]=",
 CellID->964215521,ExpressionUUID->"7f30634c-4d57-447f-9f2b-0d8c282ab065"]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
 InterpretationBox[Cell[
  "\t", "ExampleDelimiter",ExpressionUUID->
   "860a0118-47e6-432b-8257-1622e2882cf6"],
  $Line = 0; Null]], "ExampleDelimiter",
 CellID->1957161973,ExpressionUUID->"e15b6376-be07-494d-9b22-ebcb7cdc1193"],

Cell["\<\
In this example, we will see how the fractional coordinates change after the \
transformation. We will be using the diamond structure of carbon in this \
example:\
\>", "ExampleText",
 CellChangeTimes->{{3.7184425946533833`*^9, 3.718442643380534*^9}, {
  3.7184426792517*^9, 3.7184426884331636`*^9}, {3.761725084135911*^9, 
  3.761725105071315*^9}, {3.761725266591979*^9, 3.7617252738274612`*^9}},
 CellID->166875052,ExpressionUUID->"c21bb3b9-65dc-456a-ac31-0ef1fd8f4506"],

Cell[BoxData[
 RowBox[{
  RowBox[{"crystal", "=", "\"\<Diamond\>\""}], ";"}]], "Input",
 CellChangeTimes->{{3.761725185499358*^9, 3.761725188717452*^9}},
 CellLabel->"In[1]:=",
 CellID->527034049,ExpressionUUID->"83ee1add-11ca-4d64-9394-b0574d4a31f3"],

Cell["\<\
Initial values for the space group and the atom of the asymmetric unit:\
\>", "ExampleText",
 CellChangeTimes->{{3.761725290875765*^9, 3.7617252943708477`*^9}, {
  3.761725377218575*^9, 3.761725395192623*^9}},
 CellID->734494782,ExpressionUUID->"ac4e8717-6ba8-4bad-ba49-a74013a8ddb9"],

Cell[CellGroupData[{

Cell[BoxData[{
 RowBox[{
  RowBox[{
   RowBox[{"CheckData", "[", "]"}], ":=", 
   RowBox[{
    RowBox[{
     RowBox[{"$CrystalData", "\[LeftDoubleBracket]", 
      RowBox[{"crystal", ",", 
       RowBox[{"Sequence", "@@", "#"}]}], "\[RightDoubleBracket]"}], "&"}], "/@", 
    RowBox[{"{", "\[IndentingNewLine]", 
     RowBox[{
      RowBox[{"{", "\"\<SpaceGroup\>\"", "}"}], ",", "\[IndentingNewLine]", 
      RowBox[{"{", 
       RowBox[{
       "\"\<AtomData\>\"", ",", "1", ",", "\"\<FractionalCoordinates\>\""}], 
       "}"}]}], "\[IndentingNewLine]", "}"}]}]}], 
  ";"}], "\[IndentingNewLine]", 
 RowBox[{"CheckData", "[", "]"}]}], "Input",
 CellChangeTimes->{{3.761725211230438*^9, 3.761725248044136*^9}, {
  3.7617254423315783`*^9, 3.761725482823225*^9}},
 CellLabel->"In[2]:=",
 CellID->671089335,ExpressionUUID->"87f45e55-fd3b-4a2f-aaf7-dffd5f51f687"],

Cell[BoxData[
 RowBox[{"{", 
  RowBox[{"\<\"Fd\\!\\(\\*OverscriptBox[\\(3\\), \\(_\\)]\\)m:2\"\>", ",", 
   RowBox[{"{", 
    RowBox[{
     FractionBox["1", "8"], ",", 
     FractionBox["1", "8"], ",", 
     FractionBox["1", "8"]}], "}"}]}], "}"}]], "Output",
 CellChangeTimes->{
  3.761725248304887*^9, 3.761725397114313*^9, {3.761725483125124*^9, 
   3.761725496385404*^9}, 3.761725597192457*^9, 3.761725678662882*^9},
 CellLabel->"Out[3]=",
 CellID->1593148960,ExpressionUUID->"38a31df3-490b-450d-822e-c4bfd2a013e3"]
}, Open  ]],

Cell["The unit cell looks like:", "ExampleText",
 CellChangeTimes->{{3.761725406930317*^9, 3.7617254105134573`*^9}},
 CellID->1205842415,ExpressionUUID->"3d8403e0-718f-4c04-91c0-806e62ba2f69"],

Cell[CellGroupData[{

Cell[BoxData[{
 RowBox[{
  RowBox[{
   RowBox[{"CheckPlot", "[", "]"}], ":=", 
   RowBox[{"CrystalPlot", "[", 
    RowBox[{"crystal", ",", 
     RowBox[{"\"\<StructureSize\>\"", "\[Rule]", 
      RowBox[{"{", 
       RowBox[{"1", ",", "1", ",", "1"}], "}"}]}]}], "]"}]}], 
  ";"}], "\[IndentingNewLine]", 
 RowBox[{"CheckPlot", "[", "]"}]}], "Input",
 CellChangeTimes->{{3.7617251199162407`*^9, 3.761725125030986*^9}, {
  3.7617251692726192`*^9, 3.761725174342269*^9}, {3.761725555376636*^9, 
  3.761725568204836*^9}},
 CellLabel->"In[4]:=",
 CellID->283717796,ExpressionUUID->"051cbe6f-f697-4549-a663-7c4afac58e35"],

Cell[BoxData[
 Graphics3DBox[{
   {RGBColor[1, 0, 0], Arrow3DBox[Line3DBox[{{0, 0, 0}, {3.567, 0, 0}}]]}, 
   {RGBColor[0, 1, 0], Arrow3DBox[Line3DBox[{{0, 0, 0}, {0., 3.567, 0}}]]}, 
   {RGBColor[0, 0, 1], Arrow3DBox[Line3DBox[{{0, 0, 0}, {0., 0., 3.567}}]]}, 
   {GrayLevel[0], Line3DBox[{{0., 3.567, 0.}, {3.567, 3.567, 0.}}]}, 
   {GrayLevel[0], Line3DBox[{{3.567, 0., 0.}, {3.567, 3.567, 0.}}]}, 
   {GrayLevel[0], Line3DBox[{{3.567, 0., 0.}, {3.567, 0., 3.567}}]}, 
   {GrayLevel[0], Line3DBox[{{0., 3.567, 0.}, {0., 3.567, 3.567}}]}, 
   {GrayLevel[0], Line3DBox[{{3.567, 3.567, 0.}, {3.567, 3.567, 3.567}}]}, 
   {GrayLevel[0], Line3DBox[{{0., 0., 3.567}, {3.567, 0., 3.567}}]}, 
   {GrayLevel[0], Line3DBox[{{0., 0., 3.567}, {0., 3.567, 3.567}}]}, 
   {GrayLevel[0], Line3DBox[{{0., 3.567, 3.567}, {3.567, 3.567, 3.567}}]}, 
   {GrayLevel[0], Line3DBox[{{3.567, 0., 3.567}, {3.567, 3.567, 3.567}}]}, 
   {RGBColor[0.4, 0.4, 0.4], 
    SphereBox[{{0.445875, 0.445875, 0.445875}, {2.229375, 0.445875, 
     2.229375}, {0.445875, 2.229375, 2.229375}, {2.229375, 2.229375, 
     0.445875}, {3.121125, 1.337625, 1.337625}, {3.121125, 3.121125, 
     3.121125}, {1.337625, 1.337625, 3.121125}, {1.337625, 3.121125, 
     1.337625}}, 0.67]}},
  AlignmentPoint->Center,
  AspectRatio->Automatic,
  Axes->False,
  AxesEdge->Automatic,
  AxesLabel->None,
  AxesOrigin->Automatic,
  AxesStyle->{},
  Background->None,
  BaseStyle->{},
  BaselinePosition->Automatic,
  BoxRatios->Automatic,
  BoxStyle->{},
  Boxed->False,
  ClipPlanes->None,
  ClipPlanesStyle->Automatic,
  ColorOutput->Automatic,
  ContentSelectable->Automatic,
  ControllerLinking->Automatic,
  ControllerMethod->Automatic,
  ControllerPath->Automatic,
  CoordinatesToolOptions:>Automatic,
  DisplayFunction->Identity,
  Epilog->{},
  FaceGrids->None,
  FaceGridsStyle->{},
  FormatType->TraditionalForm,
  ImageMargins->0.,
  ImagePadding->All,
  ImageSize->Automatic,
  ImageSizeRaw->Automatic,
  LabelStyle->{},
  Lighting->"Neutral",
  Method->Automatic,
  PlotLabel->None,
  PlotRange->All,
  PlotRangePadding->Automatic,
  PlotRegion->Automatic,
  PreserveImageOptions->Automatic,
  Prolog->{},
  RotationAction->"Fit",
  SphericalRegion->True,
  Ticks->Automatic,
  TicksStyle->{},
  TouchscreenAutoZoom->False,
  ViewAngle->Automatic,
  ViewCenter->Automatic,
  ViewMatrix->Automatic,
  ViewPoint->{1.3, -2.4, 2.},
  ViewProjection->Automatic,
  ViewRange->All,
  ViewVector->Automatic,
  ViewVertical->{0, 0, 1}]], "Output",
 CellChangeTimes->{{3.7617255685005503`*^9, 3.761725597371221*^9}, 
   3.761725678792757*^9},
 CellLabel->"Out[5]=",
 CellID->1228459924,ExpressionUUID->"1c182d05-86c6-4e94-ac02-2c12f6502e8e"]
}, Open  ]],

Cell["\<\
Transforming to the other cell origin, here by setting the target space group \
symbol:\
\>", "ExampleText",
 CellChangeTimes->{{3.718442675490238*^9, 3.718442720988253*^9}},
 CellID->1680932570,ExpressionUUID->"4c4691a4-b0cf-4821-a3f8-c31e175b66ee"],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{"UnitCellTransformation", "[", 
  RowBox[{"crystal", ",", "\"\<Fd-3m\>\""}], "]"}]], "Input",
 CellChangeTimes->{{3.718442080100711*^9, 3.71844211314839*^9}, {
  3.7184423878275967`*^9, 3.718442389087083*^9}, {3.718442517710291*^9, 
  3.7184425463009768`*^9}, {3.740801406793853*^9, 3.740801425848329*^9}, {
  3.7617254214911127`*^9, 3.76172542523149*^9}},
 CellLabel->"In[6]:=",
 CellID->1279422874,ExpressionUUID->"f6dce5e6-bc73-4fb2-8c70-b42b2e8d963d"],

Cell[BoxData[
 RowBox[{"{", 
  RowBox[{
   RowBox[{"\<\"ChemicalFormula\"\>", "\[Rule]", "\<\"C\"\>"}], ",", 
   RowBox[{"\<\"SpaceGroup\"\>", 
    "\[Rule]", "\<\"Fd\\!\\(\\*OverscriptBox[\\(3\\), \\(_\\)]\\)m\"\>"}], 
   ",", 
   RowBox[{"\<\"LatticeParameters\"\>", "\[Rule]", 
    RowBox[{"\[LeftAssociation]", 
     RowBox[{
      RowBox[{"\<\"a\"\>", "\[Rule]", 
       TemplateBox[{
        "3.567`","\"\[CapitalARing]\"","\[ARing]ngstr\[ODoubleDot]ms",
         "\"Angstroms\""},
        "Quantity"]}], ",", 
      RowBox[{"\<\"b\"\>", "\[Rule]", 
       TemplateBox[{
        "3.567`","\"\[CapitalARing]\"","\[ARing]ngstr\[ODoubleDot]ms",
         "\"Angstroms\""},
        "Quantity"]}], ",", 
      RowBox[{"\<\"c\"\>", "\[Rule]", 
       TemplateBox[{
        "3.567`","\"\[CapitalARing]\"","\[ARing]ngstr\[ODoubleDot]ms",
         "\"Angstroms\""},
        "Quantity"]}], ",", 
      RowBox[{"\<\"\[Alpha]\"\>", "\[Rule]", 
       TemplateBox[{
        "90",RowBox[{"\[InvisibleSpace]", "\"\[Degree]\""}],"degrees",
         "\"AngularDegrees\""},
        "QuantityPostfix"]}], ",", 
      RowBox[{"\<\"\[Beta]\"\>", "\[Rule]", 
       TemplateBox[{
        "90",RowBox[{"\[InvisibleSpace]", "\"\[Degree]\""}],"degrees",
         "\"AngularDegrees\""},
        "QuantityPostfix"]}], ",", 
      RowBox[{"\<\"\[Gamma]\"\>", "\[Rule]", 
       TemplateBox[{
        "90",RowBox[{"\[InvisibleSpace]", "\"\[Degree]\""}],"degrees",
         "\"AngularDegrees\""},
        "QuantityPostfix"]}]}], "\[RightAssociation]"}]}], ",", 
   RowBox[{"\<\"AtomData\"\>", "\[Rule]", 
    RowBox[{"{", 
     RowBox[{"\[LeftSkeleton]", "1", "\[RightSkeleton]"}], "}"}]}]}], 
  "}"}]], "Output",
 CellChangeTimes->{
  3.7184421135696497`*^9, 3.718442299532654*^9, 3.718442389780971*^9, {
   3.718442512313332*^9, 3.718442546753223*^9}, 3.718442723845127*^9, 
   3.718442784486223*^9, 3.73040250478898*^9, 3.7304876611513042`*^9, 
   3.740801409836131*^9, {3.740801455199931*^9, 3.740801494815565*^9}, 
   3.7617254256060266`*^9, 3.761725502045169*^9, 3.7617255976243763`*^9, 
   3.7617256789989862`*^9},
 CellLabel->"Out[6]=",
 CellID->818160410,ExpressionUUID->"d8d9c5e9-8fcc-42ff-b67c-083cc7d53e72"]
}, Open  ]],

Cell["Let us check the updated coordinates and unit cell:", "ExampleText",
 CellChangeTimes->{{3.718442727115447*^9, 3.718442731600906*^9}, {
  3.76172553710157*^9, 3.761725543317222*^9}},
 CellID->2026203058,ExpressionUUID->"af0f7f80-42dc-48e8-bf6b-86832ed39257"],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{"CheckData", "[", "]"}]], "Input",
 CellChangeTimes->{{3.718442557526738*^9, 3.7184425775349703`*^9}, 
   3.740801415432119*^9, {3.761725504392519*^9, 3.76172550579093*^9}},
 CellLabel->"In[7]:=",
 CellID->1865658678,ExpressionUUID->"ab72cf71-9af8-4f17-ae45-5bfa0d71f490"],

Cell[BoxData[
 RowBox[{"{", 
  RowBox[{"\<\"Fd\\!\\(\\*OverscriptBox[\\(3\\), \\(_\\)]\\)m\"\>", ",", 
   RowBox[{"{", 
    RowBox[{"0", ",", "0", ",", "0"}], "}"}]}], "}"}]], "Output",
 CellChangeTimes->{{3.718442563908697*^9, 3.718442577695641*^9}, 
   3.718442734230455*^9, 3.7184427846632423`*^9, 3.7304025064414263`*^9, 
   3.7304876612515697`*^9, {3.740801416019678*^9, 3.7408014182688017`*^9}, {
   3.740801457505661*^9, 3.740801495024706*^9}, 3.761725505987094*^9, 
   3.761725597725916*^9, 3.761725679065939*^9},
 CellLabel->"Out[7]=",
 CellID->484219129,ExpressionUUID->"ae534ed5-e885-4e11-81ef-e36db3733194"]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{"CheckPlot", "[", "]"}]], "Input",
 CellChangeTimes->{{3.761725545801998*^9, 3.761725574080655*^9}},
 CellLabel->"In[8]:=",
 CellID->885182825,ExpressionUUID->"b22c7314-a1ad-4de0-9c43-e1d146978fdf"],

Cell[BoxData[
 Graphics3DBox[{
   {RGBColor[1, 0, 0], Arrow3DBox[Line3DBox[{{0, 0, 0}, {3.567, 0, 0}}]]}, 
   {RGBColor[0, 1, 0], Arrow3DBox[Line3DBox[{{0, 0, 0}, {0., 3.567, 0}}]]}, 
   {RGBColor[0, 0, 1], Arrow3DBox[Line3DBox[{{0, 0, 0}, {0., 0., 3.567}}]]}, 
   {GrayLevel[0], Line3DBox[{{0., 3.567, 0.}, {3.567, 3.567, 0.}}]}, 
   {GrayLevel[0], Line3DBox[{{3.567, 0., 0.}, {3.567, 3.567, 0.}}]}, 
   {GrayLevel[0], Line3DBox[{{3.567, 0., 0.}, {3.567, 0., 3.567}}]}, 
   {GrayLevel[0], Line3DBox[{{0., 3.567, 0.}, {0., 3.567, 3.567}}]}, 
   {GrayLevel[0], Line3DBox[{{3.567, 3.567, 0.}, {3.567, 3.567, 3.567}}]}, 
   {GrayLevel[0], Line3DBox[{{0., 0., 3.567}, {3.567, 0., 3.567}}]}, 
   {GrayLevel[0], Line3DBox[{{0., 0., 3.567}, {0., 3.567, 3.567}}]}, 
   {GrayLevel[0], Line3DBox[{{0., 3.567, 3.567}, {3.567, 3.567, 3.567}}]}, 
   {GrayLevel[0], Line3DBox[{{3.567, 0., 3.567}, {3.567, 3.567, 3.567}}]}, 
   {RGBColor[0.4, 0.4, 0.4], SphereBox[CompressedData["
1:eJxTTMoPSmViYGAQAmJmBsLgw/Jj3uadf+xx0ejq0Plf/l6peJnG6gDhv8Hg
46Jh6nDRMHXY3cvjgN29PA7o6rD7E6Efu7kImlL7cZmHSx4A0Q+pSQ==
     "], 0.67]}},
  AlignmentPoint->Center,
  AspectRatio->Automatic,
  Axes->False,
  AxesEdge->Automatic,
  AxesLabel->None,
  AxesOrigin->Automatic,
  AxesStyle->{},
  Background->None,
  BaseStyle->{},
  BaselinePosition->Automatic,
  BoxRatios->Automatic,
  BoxStyle->{},
  Boxed->False,
  ClipPlanes->None,
  ClipPlanesStyle->Automatic,
  ColorOutput->Automatic,
  ContentSelectable->Automatic,
  ControllerLinking->Automatic,
  ControllerMethod->Automatic,
  ControllerPath->Automatic,
  CoordinatesToolOptions:>Automatic,
  DisplayFunction->Identity,
  Epilog->{},
  FaceGrids->None,
  FaceGridsStyle->{},
  FormatType->TraditionalForm,
  ImageMargins->0.,
  ImagePadding->All,
  ImageSize->Automatic,
  ImageSizeRaw->Automatic,
  LabelStyle->{},
  Lighting->"Neutral",
  Method->Automatic,
  PlotLabel->None,
  PlotRange->All,
  PlotRangePadding->Automatic,
  PlotRegion->Automatic,
  PreserveImageOptions->Automatic,
  Prolog->{},
  RotationAction->"Fit",
  SphericalRegion->True,
  Ticks->Automatic,
  TicksStyle->{},
  TouchscreenAutoZoom->False,
  ViewAngle->Automatic,
  ViewCenter->Automatic,
  ViewMatrix->Automatic,
  ViewPoint->{1.3, -2.4, 2.},
  ViewProjection->Automatic,
  ViewRange->All,
  ViewVector->Automatic,
  ViewVertical->{0, 0, 1}]], "Output",
 CellChangeTimes->{3.7617255979342012`*^9, 3.761725679216728*^9},
 CellLabel->"Out[8]=",
 CellID->1455362620,ExpressionUUID->"56fbe289-6f06-407d-a6a8-ed13baa1b322"]
}, Open  ]],

Cell["\<\
Transforming back to the previous setting, here by specifying the cell origin \
setting/value:\
\>", "ExampleText",
 CellChangeTimes->{{3.705394788593576*^9, 3.705394795132786*^9}, {
  3.718442740067286*^9, 3.718442759812002*^9}, {3.761725582510397*^9, 
  3.7617255840523567`*^9}},
 CellID->1665431182,ExpressionUUID->"b180daec-4de7-413d-b17a-9e616422d61e"],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{"UnitCellTransformation", "[", 
  RowBox[{"crystal", ",", 
   RowBox[{"\"\<CellOrigin\>\"", "\[Rule]", "2"}]}], "]"}]], "Input",
 CellChangeTimes->{{3.712466911828863*^9, 3.7124669242233753`*^9}, {
  3.718442530594553*^9, 3.718442535479782*^9}, {3.740801461614339*^9, 
  3.7408014687467613`*^9}, {3.7617256715177298`*^9, 3.761725672322644*^9}},
 CellLabel->"In[9]:=",
 CellID->269201022,ExpressionUUID->"bc0cd340-ea63-4b2f-947a-879189d168dc"],

Cell[BoxData[
 RowBox[{"{", 
  RowBox[{
   RowBox[{"\<\"ChemicalFormula\"\>", "\[Rule]", "\<\"C\"\>"}], ",", 
   RowBox[{"\<\"SpaceGroup\"\>", 
    "\[Rule]", "\<\"Fd\\!\\(\\*OverscriptBox[\\(3\\), \\(_\\)]\\)m:2\"\>"}], 
   ",", 
   RowBox[{"\<\"LatticeParameters\"\>", "\[Rule]", 
    RowBox[{"\[LeftAssociation]", 
     RowBox[{
      RowBox[{"\<\"a\"\>", "\[Rule]", 
       TemplateBox[{
        "3.567`","\"\[CapitalARing]\"","\[ARing]ngstr\[ODoubleDot]ms",
         "\"Angstroms\""},
        "Quantity"]}], ",", 
      RowBox[{"\<\"b\"\>", "\[Rule]", 
       TemplateBox[{
        "3.567`","\"\[CapitalARing]\"","\[ARing]ngstr\[ODoubleDot]ms",
         "\"Angstroms\""},
        "Quantity"]}], ",", 
      RowBox[{"\<\"c\"\>", "\[Rule]", 
       TemplateBox[{
        "3.567`","\"\[CapitalARing]\"","\[ARing]ngstr\[ODoubleDot]ms",
         "\"Angstroms\""},
        "Quantity"]}], ",", 
      RowBox[{"\<\"\[Alpha]\"\>", "\[Rule]", 
       TemplateBox[{
        "90",RowBox[{"\[InvisibleSpace]", "\"\[Degree]\""}],"degrees",
         "\"AngularDegrees\""},
        "QuantityPostfix"]}], ",", 
      RowBox[{"\<\"\[Beta]\"\>", "\[Rule]", 
       TemplateBox[{
        "90",RowBox[{"\[InvisibleSpace]", "\"\[Degree]\""}],"degrees",
         "\"AngularDegrees\""},
        "QuantityPostfix"]}], ",", 
      RowBox[{"\<\"\[Gamma]\"\>", "\[Rule]", 
       TemplateBox[{
        "90",RowBox[{"\[InvisibleSpace]", "\"\[Degree]\""}],"degrees",
         "\"AngularDegrees\""},
        "QuantityPostfix"]}]}], "\[RightAssociation]"}]}], ",", 
   RowBox[{"\<\"AtomData\"\>", "\[Rule]", 
    RowBox[{"{", 
     RowBox[{"\[LeftSkeleton]", "1", "\[RightSkeleton]"}], "}"}]}]}], 
  "}"}]], "Output",
 CellChangeTimes->{{3.712466925150969*^9, 3.712466940398815*^9}, {
   3.712467850163476*^9, 3.712467851303534*^9}, 3.712469063170623*^9, {
   3.718442531748144*^9, 3.7184425513786077`*^9}, 3.718442666236055*^9, {
   3.7184427623791723`*^9, 3.7184427848617477`*^9}, 3.730402508303583*^9, 
   3.730487661437832*^9, {3.7408014634015627`*^9, 3.7408014953345747`*^9}, 
   3.761725598220186*^9, 3.761725679349262*^9},
 CellLabel->"Out[9]=",
 CellID->440815010,ExpressionUUID->"224244bf-370b-432e-a6c5-28d27bbce2b8"]
}, Open  ]],

Cell["We will find that the coordinates are the same as before:", \
"ExampleText",
 CellChangeTimes->{{3.718442769017097*^9, 3.718442778502493*^9}},
 CellID->1354264927,ExpressionUUID->"84b272d2-cb67-437e-854f-25362e597203"],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{"CheckData", "[", "]"}]], "Input",
 CellChangeTimes->{{3.718442557526738*^9, 3.7184425775349703`*^9}, 
   3.740801471846272*^9, {3.761725522720087*^9, 3.761725524567786*^9}},
 CellLabel->"In[10]:=",
 CellID->1078879983,ExpressionUUID->"f644f8ce-e797-4b5d-a008-a0f7ef045cd2"],

Cell[BoxData[
 RowBox[{"{", 
  RowBox[{"\<\"Fd\\!\\(\\*OverscriptBox[\\(3\\), \\(_\\)]\\)m:2\"\>", ",", 
   RowBox[{"{", 
    RowBox[{
     FractionBox["1", "8"], ",", 
     FractionBox["1", "8"], ",", 
     FractionBox["1", "8"]}], "}"}]}], "}"}]], "Output",
 CellChangeTimes->{{3.718442764849585*^9, 3.7184427850325727`*^9}, 
   3.730402509930027*^9, 3.730487661536415*^9, {3.740801480390973*^9, 
   3.740801495525155*^9}, 3.7617255247421703`*^9, 3.761725598295937*^9, 
   3.761725679456402*^9},
 CellLabel->"Out[10]=",
 CellID->2106774567,ExpressionUUID->"4ba59f33-0d0b-44ec-87ec-2c72b6d33048"]
}, Open  ]]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
 InterpretationBox[Cell[
  "\t", "ExampleDelimiter",ExpressionUUID->
   "803d8116-5d6b-4c9f-9057-01a2669879d0"],
  $Line = 0; Null]], "ExampleDelimiter",
 CellID->1415114360,ExpressionUUID->"3e14fc5d-12b9-4d19-a489-cb95bccf751a"],

Cell[TextData[{
 "Let us reload the ",
 StyleBox[".cif", "Program"],
 " file for ferrocene, in case it has been altered already."
}], "ExampleText",
 CellChangeTimes->{{3.705393843500236*^9, 3.705393862252653*^9}, 
   3.712469074664837*^9},
 CellID->1236632999,ExpressionUUID->"a2334347-3827-46be-8327-6324a0919827"],

Cell[CellGroupData[{

Cell[BoxData[{
 RowBox[{
  RowBox[{"cif", "=", 
   RowBox[{"FileNameJoin", "[", 
    RowBox[{"{", 
     RowBox[{
     "$MaXrdPath", ",", "\"\<ExampleFiles\>\"", ",", "\"\<CIF\>\"", ",", 
      "\"\<Ferrocene.cif\>\""}], "}"}], "]"}]}], ";"}], "\[IndentingNewLine]", 
 RowBox[{"ImportCrystalData", "[", "cif", "]"}]}], "Input",
 CellChangeTimes->{{3.705378124375155*^9, 3.705378173279726*^9}, {
   3.705378206120083*^9, 3.705378232327504*^9}, 3.7179515792028017`*^9, {
   3.7184419951317883`*^9, 3.718441997739773*^9}, 3.7438654233346977`*^9},
 CellLabel->"In[1]:=",
 CellID->44268505,ExpressionUUID->"ce1473b1-58da-48ed-9603-caec289369a1"],

Cell[BoxData[
 RowBox[{"{", 
  RowBox[{
   RowBox[{"\<\"ChemicalFormula\"\>", 
    "\[Rule]", "\<\"\\!\\(\\*SubscriptBox[\\(C\\), \
\\(10\\)]\\)\\!\\(\\*SubscriptBox[\\(H\\), \\(10\\)]\\)Fe\"\>"}], ",", 
   RowBox[{"\<\"FormulaUnits\"\>", "\[Rule]", "2"}], ",", 
   RowBox[{"\<\"SpaceGroup\"\>", 
    "\[Rule]", "\<\"\\!\\(\\*SubscriptBox[\\(P2\\), \\(1\\)]\\)/n\"\>"}], ",", 
   RowBox[{"\<\"LatticeParameters\"\>", "\[Rule]", 
    RowBox[{"\[LeftAssociation]", 
     RowBox[{
      RowBox[{"\<\"a\"\>", "\[Rule]", 
       TemplateBox[{
        "5.9285`","\"\[CapitalARing]\"","\[ARing]ngstr\[ODoubleDot]ms",
         "\"Angstroms\""},
        "Quantity"]}], ",", 
      RowBox[{"\<\"b\"\>", "\[Rule]", 
       TemplateBox[{
        "7.612`","\"\[CapitalARing]\"","\[ARing]ngstr\[ODoubleDot]ms",
         "\"Angstroms\""},
        "Quantity"]}], ",", 
      RowBox[{"\<\"c\"\>", "\[Rule]", 
       TemplateBox[{
        "9.041`","\"\[CapitalARing]\"","\[ARing]ngstr\[ODoubleDot]ms",
         "\"Angstroms\""},
        "Quantity"]}], ",", 
      RowBox[{"\<\"\[Alpha]\"\>", "\[Rule]", 
       TemplateBox[{
        "90",RowBox[{"\[InvisibleSpace]", "\"\[Degree]\""}],"degrees",
         "\"AngularDegrees\""},
        "QuantityPostfix"]}], ",", 
      RowBox[{"\<\"\[Beta]\"\>", "\[Rule]", 
       TemplateBox[{
        "93.156`",RowBox[{"\[InvisibleSpace]", "\"\[Degree]\""}],"degrees",
         "\"AngularDegrees\""},
        "QuantityPostfix"]}], ",", 
      RowBox[{"\<\"\[Gamma]\"\>", "\[Rule]", 
       TemplateBox[{
        "90",RowBox[{"\[InvisibleSpace]", "\"\[Degree]\""}],"degrees",
         "\"AngularDegrees\""},
        "QuantityPostfix"]}]}], "\[RightAssociation]"}]}], ",", 
   RowBox[{"\<\"Wavelength\"\>", "\[Rule]", 
    TemplateBox[{
     "0.69804`","\"\[CapitalARing]\"","\[ARing]ngstr\[ODoubleDot]ms",
      "\"Angstroms\""},
     "Quantity"]}], ",", 
   RowBox[{"\<\"AtomData\"\>", "\[Rule]", 
    RowBox[{"{", 
     RowBox[{"\[LeftSkeleton]", "11", "\[RightSkeleton]"}], "}"}]}]}], 
  "}"}]], "Output",
 CellChangeTimes->{
  3.70538487460251*^9, 3.705393589544029*^9, 3.7053938145650377`*^9, {
   3.7053940017373247`*^9, 3.705394010139606*^9}, 3.705394060333055*^9, 
   3.705912609434168*^9, 3.705912640559065*^9, 3.712469080343294*^9, 
   3.718442823333185*^9, {3.730402517187828*^9, 3.7304025460688953`*^9}, 
   3.730487672899678*^9, 3.7408015094450827`*^9, 3.761725598640809*^9, 
   3.761725681388509*^9},
 CellLabel->"Out[2]=",
 CellID->849775833,ExpressionUUID->"a19202c4-cd7f-425b-a22c-aec182e92f58"]
}, Open  ]],

Cell[TextData[{
 "Note that it has the space group ",
 Cell[BoxData[
  FormBox[
   RowBox[{"P", "\[VeryThinSpace]", 
    RowBox[{
     SubscriptBox["2", "1"], "\[NegativeMediumSpace]", "/", "n"}]}], 
   TraditionalForm]], "InlineMath",ExpressionUUID->
  "9dfa3bdb-cf53-4e53-b256-29816a1abb42"],
 ":"
}], "ExampleText",
 CellChangeTimes->{{3.705393880223391*^9, 3.7053939165724707`*^9}, {
  3.705393950442452*^9, 3.705393950582397*^9}, {3.7304025217699327`*^9, 
  3.730402540944447*^9}},
 CellID->1190426388,ExpressionUUID->"829a2d44-367d-413b-925e-b7819225d62d"],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{"Dataset", "@", 
  RowBox[{"$CrystalData", "[", 
   RowBox[{"[", 
    RowBox[{"\"\<Ferrocene\>\"", ",", 
     RowBox[{"{", 
      RowBox[{"\"\<SpaceGroup\>\"", ",", "\"\<LatticeParameters\>\""}], 
      "}"}]}], "]"}], "]"}]}]], "Input",
 CellChangeTimes->{{3.70537799025113*^9, 3.705378071677204*^9}, {
  3.705378108582973*^9, 3.7053781116111307`*^9}, {3.705394031365011*^9, 
  3.705394035122343*^9}},
 CellLabel->"In[3]:=",
 CellID->1646173065,ExpressionUUID->"418d6ba5-e256-4d2c-8544-925243b14da7"],

Cell[BoxData[
 TemplateBox[{TagBox[
    DynamicModuleBox[{
     TypeSystem`NestedGrid`PackagePrivate`$state$$ = 
      Data`UnorderedAssociation[
       "RowCount" -> 20, "Length" -> 2, "InitialType" -> 
        TypeSystem`Struct[{"SpaceGroup", "LatticeParameters"}, {
           TypeSystem`Atom[String], 
           
           TypeSystem`Struct[{
            "a", "b", "c", "\[Alpha]", "\[Beta]", "\[Gamma]"}, {
             TypeSystem`Atom[
              Quantity[1, "Angstroms"]], 
             TypeSystem`Atom[
              Quantity[1, "Angstroms"]], 
             TypeSystem`Atom[
              Quantity[1, "Angstroms"]], 
             TypeSystem`Atom[
              Quantity[1, "AngularDegrees"]], 
             TypeSystem`Atom[
              Quantity[1, "AngularDegrees"]], 
             TypeSystem`Atom[
              Quantity[1, "AngularDegrees"]]}]}], "Shape" -> 
        TypeSystem`PackageScope`DocumentShape[
          
          Association[{"SpaceGroup"} -> 
           TypeSystem`PackageScope`AtomShape[278.40000000000003`], {
            "LatticeParameters", "a"} -> 
           TypeSystem`PackageScope`AtomShape[75], {"LatticeParameters", "b"} -> 
           TypeSystem`PackageScope`AtomShape[75], {"LatticeParameters", "c"} -> 
           TypeSystem`PackageScope`AtomShape[75], {
            "LatticeParameters", "\[Alpha]"} -> 
           TypeSystem`PackageScope`AtomShape[75], {
            "LatticeParameters", "\[Beta]"} -> 
           TypeSystem`PackageScope`AtomShape[75], {
            "LatticeParameters", "\[Gamma]"} -> 
           TypeSystem`PackageScope`AtomShape[75]], 2], "InitialData" -> 
        TypeSystem`PackageScope`CacheHandle[1645780489], "Type" -> 
        TypeSystem`Struct[{"SpaceGroup", "LatticeParameters"}, {
           TypeSystem`Atom[String], 
           
           TypeSystem`Struct[{
            "a", "b", "c", "\[Alpha]", "\[Beta]", "\[Gamma]"}, {
             TypeSystem`Atom[
              Quantity[1, "Angstroms"]], 
             TypeSystem`Atom[
              Quantity[1, "Angstroms"]], 
             TypeSystem`Atom[
              Quantity[1, "Angstroms"]], 
             TypeSystem`Atom[
              Quantity[1, "AngularDegrees"]], 
             TypeSystem`Atom[
              Quantity[1, "AngularDegrees"]], 
             TypeSystem`Atom[
              Quantity[1, "AngularDegrees"]]}]}], "HandleQ" -> True, 
        "RowTarget" -> 20, "Data" -> 
        TypeSystem`PackageScope`CacheHandle[1645780489]], 
      TypeSystem`NestedGrid`PackagePrivate`$path$$ = {}, 
      TypeSystem`NestedGrid`PackagePrivate`$pos$$ = 1, 
      TypeSystem`NestedGrid`PackagePrivate`$grid$$ = 
      DynamicModule[{
        TypeSystem`NestedGrid`PackagePrivate`renderedGrid = Deploy[
           Style[
            Grid[{{
               Item[
                Annotation[
                 EventHandler[
                  MouseAppearance[
                   Mouseover[
                    Pane[
                    RawBoxes[
                    StyleBox[
                    "\"SpaceGroup\"", FontColor -> GrayLevel[0.4]]], {{
                    20, Full}, 15}], 
                    Style[
                    Pane[
                    RawBoxes[
                    StyleBox[
                    "\"SpaceGroup\"", FontColor -> 
                    RGBColor[
                    0.27450980392156865`, 0.5372549019607843, 
                    0.792156862745098]]], {{20, Full}, 15}], FontColor -> 
                    RGBColor[
                    0.27450980392156865`, 0.5372549019607843, 
                    0.792156862745098]]], "LinkHand"], {"MouseClicked", 1} :> 
                  TypeSystem`NestedGrid`PackagePrivate`updateState[
                   TypeSystem`NestedGrid`PackagePrivate`$state$$, 
                    TypeSystem`NestedGrid`PackagePrivate`$path$$, 
                    TypeSystem`NestedGrid`PackagePrivate`$pos$$, 
                    TypeSystem`NestedGrid`PackagePrivate`$grid$$, 
                    1700675329][{"SpaceGroup"}]], 
                 TypeSystem`NestedGrid`PackagePrivate`$SliceMarker[1700675329][
                  GeneralUtilities`Slice["SpaceGroup"]], "Mouse"], Background -> 
                GrayLevel[0.95], Alignment -> {Left, Baseline}], SpanFromLeft, 
               Pane[
                Annotation["\!\(\*SubscriptBox[\(P2\), \(1\)]\)/n", 
                 TypeSystem`NestedGrid`PackagePrivate`$SliceMarker[1700675329][
                  GeneralUtilities`Slice["SpaceGroup"]], "Mouse"], 
                ImageSize -> {{278.40000000000003`, Full}, Automatic}, 
                Alignment -> {Left, Baseline}]}, {
               Item[
                Annotation[
                 EventHandler[
                  MouseAppearance[
                   Mouseover[
                    Pane[
                    RawBoxes[
                    StyleBox[
                    "\"LatticeParameters\"", FontColor -> GrayLevel[0.4]]], {{
                    20, Full}, 15}], 
                    Style[
                    Pane[
                    RawBoxes[
                    StyleBox[
                    "\"LatticeParameters\"", FontColor -> 
                    RGBColor[
                    0.27450980392156865`, 0.5372549019607843, 
                    0.792156862745098]]], {{20, Full}, 15}], FontColor -> 
                    RGBColor[
                    0.27450980392156865`, 0.5372549019607843, 
                    0.792156862745098]]], "LinkHand"], {"MouseClicked", 1} :> 
                  TypeSystem`NestedGrid`PackagePrivate`updateState[
                   TypeSystem`NestedGrid`PackagePrivate`$state$$, 
                    TypeSystem`NestedGrid`PackagePrivate`$path$$, 
                    TypeSystem`NestedGrid`PackagePrivate`$pos$$, 
                    TypeSystem`NestedGrid`PackagePrivate`$grid$$, 
                    1700675329][{"LatticeParameters", "a"}]], 
                 TypeSystem`NestedGrid`PackagePrivate`$SliceMarker[1700675329][
                  GeneralUtilities`Slice["LatticeParameters", "a"]], "Mouse"],
                 Background -> GrayLevel[0.95], 
                Alignment -> {Left, Baseline}], 
               Item[
                Annotation[
                 EventHandler[
                  MouseAppearance[
                   Mouseover[
                    Pane[
                    RawBoxes[
                    StyleBox["\"a\"", FontColor -> GrayLevel[0.4]]], {{
                    20, Full}, 15}], 
                    Style[
                    Pane[
                    RawBoxes[
                    StyleBox[
                    "\"a\"", FontColor -> 
                    RGBColor[
                    0.27450980392156865`, 0.5372549019607843, 
                    0.792156862745098]]], {{20, Full}, 15}], FontColor -> 
                    RGBColor[
                    0.27450980392156865`, 0.5372549019607843, 
                    0.792156862745098]]], "LinkHand"], {"MouseClicked", 1} :> 
                  TypeSystem`NestedGrid`PackagePrivate`updateState[
                   TypeSystem`NestedGrid`PackagePrivate`$state$$, 
                    TypeSystem`NestedGrid`PackagePrivate`$path$$, 
                    TypeSystem`NestedGrid`PackagePrivate`$pos$$, 
                    TypeSystem`NestedGrid`PackagePrivate`$grid$$, 
                    1700675329][{"LatticeParameters", "a"}]], 
                 TypeSystem`NestedGrid`PackagePrivate`$SliceMarker[1700675329][
                  GeneralUtilities`Slice["LatticeParameters", "a"]], "Mouse"],
                 Background -> GrayLevel[0.95], 
                Alignment -> {Left, Baseline}], 
               Pane[
                Annotation[
                 RawBoxes[
                  StyleBox[
                   RowBox[{"5.9285`", "\"\[CapitalARing]\""}], FontColor -> 
                   RGBColor[{
                    Rational[33, 74], 
                    Rational[27, 74], 
                    Rational[117, 370]}]]], 
                 TypeSystem`NestedGrid`PackagePrivate`$SliceMarker[1700675329][
                  GeneralUtilities`Slice["LatticeParameters", "a"]], "Mouse"],
                 ImageSize -> {{75, Full}, Automatic}, 
                Alignment -> {Left, Baseline}]}, {SpanFromAbove, 
               Item[
                Annotation[
                 EventHandler[
                  MouseAppearance[
                   Mouseover[
                    Pane[
                    RawBoxes[
                    StyleBox["\"b\"", FontColor -> GrayLevel[0.4]]], {{
                    20, Full}, 15}], 
                    Style[
                    Pane[
                    RawBoxes[
                    StyleBox[
                    "\"b\"", FontColor -> 
                    RGBColor[
                    0.27450980392156865`, 0.5372549019607843, 
                    0.792156862745098]]], {{20, Full}, 15}], FontColor -> 
                    RGBColor[
                    0.27450980392156865`, 0.5372549019607843, 
                    0.792156862745098]]], "LinkHand"], {"MouseClicked", 1} :> 
                  TypeSystem`NestedGrid`PackagePrivate`updateState[
                   TypeSystem`NestedGrid`PackagePrivate`$state$$, 
                    TypeSystem`NestedGrid`PackagePrivate`$path$$, 
                    TypeSystem`NestedGrid`PackagePrivate`$pos$$, 
                    TypeSystem`NestedGrid`PackagePrivate`$grid$$, 
                    1700675329][{"LatticeParameters", "b"}]], 
                 TypeSystem`NestedGrid`PackagePrivate`$SliceMarker[1700675329][
                  GeneralUtilities`Slice["LatticeParameters", "b"]], "Mouse"],
                 Background -> GrayLevel[0.95], 
                Alignment -> {Left, Baseline}], 
               Pane[
                Annotation[
                 RawBoxes[
                  StyleBox[
                   RowBox[{"7.612`", "\"\[CapitalARing]\""}], FontColor -> 
                   RGBColor[{
                    Rational[33, 74], 
                    Rational[27, 74], 
                    Rational[117, 370]}]]], 
                 TypeSystem`NestedGrid`PackagePrivate`$SliceMarker[1700675329][
                  GeneralUtilities`Slice["LatticeParameters", "b"]], "Mouse"],
                 ImageSize -> {{75, Full}, Automatic}, 
                Alignment -> {Left, Baseline}]}, {SpanFromAbove, 
               Item[
                Annotation[
                 EventHandler[
                  MouseAppearance[
                   Mouseover[
                    Pane[
                    RawBoxes[
                    StyleBox["\"c\"", FontColor -> GrayLevel[0.4]]], {{
                    20, Full}, 15}], 
                    Style[
                    Pane[
                    RawBoxes[
                    StyleBox[
                    "\"c\"", FontColor -> 
                    RGBColor[
                    0.27450980392156865`, 0.5372549019607843, 
                    0.792156862745098]]], {{20, Full}, 15}], FontColor -> 
                    RGBColor[
                    0.27450980392156865`, 0.5372549019607843, 
                    0.792156862745098]]], "LinkHand"], {"MouseClicked", 1} :> 
                  TypeSystem`NestedGrid`PackagePrivate`updateState[
                   TypeSystem`NestedGrid`PackagePrivate`$state$$, 
                    TypeSystem`NestedGrid`PackagePrivate`$path$$, 
                    TypeSystem`NestedGrid`PackagePrivate`$pos$$, 
                    TypeSystem`NestedGrid`PackagePrivate`$grid$$, 
                    1700675329][{"LatticeParameters", "c"}]], 
                 TypeSystem`NestedGrid`PackagePrivate`$SliceMarker[1700675329][
                  GeneralUtilities`Slice["LatticeParameters", "c"]], "Mouse"],
                 Background -> GrayLevel[0.95], 
                Alignment -> {Left, Baseline}], 
               Pane[
                Annotation[
                 RawBoxes[
                  StyleBox[
                   RowBox[{"9.041`", "\"\[CapitalARing]\""}], FontColor -> 
                   RGBColor[{
                    Rational[33, 74], 
                    Rational[27, 74], 
                    Rational[117, 370]}]]], 
                 TypeSystem`NestedGrid`PackagePrivate`$SliceMarker[1700675329][
                  GeneralUtilities`Slice["LatticeParameters", "c"]], "Mouse"],
                 ImageSize -> {{75, Full}, Automatic}, 
                Alignment -> {Left, Baseline}]}, {SpanFromAbove, 
               Item[
                Annotation[
                 EventHandler[
                  MouseAppearance[
                   Mouseover[
                    Pane[
                    RawBoxes[
                    StyleBox["\"\[Alpha]\"", FontColor -> GrayLevel[0.4]]], {{
                    20, Full}, 15}], 
                    Style[
                    Pane[
                    RawBoxes[
                    StyleBox[
                    "\"\[Alpha]\"", FontColor -> 
                    RGBColor[
                    0.27450980392156865`, 0.5372549019607843, 
                    0.792156862745098]]], {{20, Full}, 15}], FontColor -> 
                    RGBColor[
                    0.27450980392156865`, 0.5372549019607843, 
                    0.792156862745098]]], "LinkHand"], {"MouseClicked", 1} :> 
                  TypeSystem`NestedGrid`PackagePrivate`updateState[
                   TypeSystem`NestedGrid`PackagePrivate`$state$$, 
                    TypeSystem`NestedGrid`PackagePrivate`$path$$, 
                    TypeSystem`NestedGrid`PackagePrivate`$pos$$, 
                    TypeSystem`NestedGrid`PackagePrivate`$grid$$, 
                    1700675329][{"LatticeParameters", "\[Alpha]"}]], 
                 TypeSystem`NestedGrid`PackagePrivate`$SliceMarker[1700675329][
                  GeneralUtilities`Slice["LatticeParameters", "\[Alpha]"]], 
                 "Mouse"], Background -> GrayLevel[0.95], 
                Alignment -> {Left, Baseline}], 
               Pane[
                Annotation[
                 RawBoxes[
                  StyleBox[
                   TemplateBox[{"90", 
                    RowBox[{"\[InvisibleSpace]", "\"\[Degree]\""}], "degrees",
                     "\"AngularDegrees\""}, "QuantityPostfix", SyntaxForm -> 
                    Mod], FontColor -> RGBColor[{
                    Rational[33, 74], 
                    Rational[27, 74], 
                    Rational[117, 370]}]]], 
                 TypeSystem`NestedGrid`PackagePrivate`$SliceMarker[1700675329][
                  GeneralUtilities`Slice["LatticeParameters", "\[Alpha]"]], 
                 "Mouse"], ImageSize -> {{75, Full}, Automatic}, 
                Alignment -> {Left, Baseline}]}, {SpanFromAbove, 
               Item[
                Annotation[
                 EventHandler[
                  MouseAppearance[
                   Mouseover[
                    Pane[
                    RawBoxes[
                    StyleBox["\"\[Beta]\"", FontColor -> GrayLevel[0.4]]], {{
                    20, Full}, 15}], 
                    Style[
                    Pane[
                    RawBoxes[
                    StyleBox[
                    "\"\[Beta]\"", FontColor -> 
                    RGBColor[
                    0.27450980392156865`, 0.5372549019607843, 
                    0.792156862745098]]], {{20, Full}, 15}], FontColor -> 
                    RGBColor[
                    0.27450980392156865`, 0.5372549019607843, 
                    0.792156862745098]]], "LinkHand"], {"MouseClicked", 1} :> 
                  TypeSystem`NestedGrid`PackagePrivate`updateState[
                   TypeSystem`NestedGrid`PackagePrivate`$state$$, 
                    TypeSystem`NestedGrid`PackagePrivate`$path$$, 
                    TypeSystem`NestedGrid`PackagePrivate`$pos$$, 
                    TypeSystem`NestedGrid`PackagePrivate`$grid$$, 
                    1700675329][{"LatticeParameters", "\[Beta]"}]], 
                 TypeSystem`NestedGrid`PackagePrivate`$SliceMarker[1700675329][
                  GeneralUtilities`Slice["LatticeParameters", "\[Beta]"]], 
                 "Mouse"], Background -> GrayLevel[0.95], 
                Alignment -> {Left, Baseline}], 
               Pane[
                Annotation[
                 RawBoxes[
                  StyleBox[
                   TemplateBox[{"93.156`", 
                    RowBox[{"\[InvisibleSpace]", "\"\[Degree]\""}], "degrees",
                     "\"AngularDegrees\""}, "QuantityPostfix", SyntaxForm -> 
                    Mod], FontColor -> RGBColor[{
                    Rational[33, 74], 
                    Rational[27, 74], 
                    Rational[117, 370]}]]], 
                 TypeSystem`NestedGrid`PackagePrivate`$SliceMarker[1700675329][
                  GeneralUtilities`Slice["LatticeParameters", "\[Beta]"]], 
                 "Mouse"], ImageSize -> {{75, Full}, Automatic}, 
                Alignment -> {Left, Baseline}]}, {SpanFromAbove, 
               Item[
                Annotation[
                 EventHandler[
                  MouseAppearance[
                   Mouseover[
                    Pane[
                    RawBoxes[
                    StyleBox["\"\[Gamma]\"", FontColor -> GrayLevel[0.4]]], {{
                    20, Full}, 15}], 
                    Style[
                    Pane[
                    RawBoxes[
                    StyleBox[
                    "\"\[Gamma]\"", FontColor -> 
                    RGBColor[
                    0.27450980392156865`, 0.5372549019607843, 
                    0.792156862745098]]], {{20, Full}, 15}], FontColor -> 
                    RGBColor[
                    0.27450980392156865`, 0.5372549019607843, 
                    0.792156862745098]]], "LinkHand"], {"MouseClicked", 1} :> 
                  TypeSystem`NestedGrid`PackagePrivate`updateState[
                   TypeSystem`NestedGrid`PackagePrivate`$state$$, 
                    TypeSystem`NestedGrid`PackagePrivate`$path$$, 
                    TypeSystem`NestedGrid`PackagePrivate`$pos$$, 
                    TypeSystem`NestedGrid`PackagePrivate`$grid$$, 
                    1700675329][{"LatticeParameters", "\[Gamma]"}]], 
                 TypeSystem`NestedGrid`PackagePrivate`$SliceMarker[1700675329][
                  GeneralUtilities`Slice["LatticeParameters", "\[Gamma]"]], 
                 "Mouse"], Background -> GrayLevel[0.95], 
                Alignment -> {Left, Baseline}], 
               Pane[
                Annotation[
                 RawBoxes[
                  StyleBox[
                   TemplateBox[{"90", 
                    RowBox[{"\[InvisibleSpace]", "\"\[Degree]\""}], "degrees",
                     "\"AngularDegrees\""}, "QuantityPostfix", SyntaxForm -> 
                    Mod], FontColor -> RGBColor[{
                    Rational[33, 74], 
                    Rational[27, 74], 
                    Rational[117, 370]}]]], 
                 TypeSystem`NestedGrid`PackagePrivate`$SliceMarker[1700675329][
                  GeneralUtilities`Slice["LatticeParameters", "\[Gamma]"]], 
                 "Mouse"], ImageSize -> {{75, Full}, Automatic}, 
                Alignment -> {Left, Baseline}]}}, BaseStyle -> {ContextMenu -> {
                 MenuItem["Copy position to clipboard", 
                  KernelExecute[
                   TypeSystem`NestedGrid`PackagePrivate`toCurrentPosition[
                   TypeSystem`NestedGrid`PackagePrivate`copyClip]], 
                  MenuEvaluator -> Automatic], 
                 MenuItem["Copy data to clipboard", 
                  KernelExecute[
                   TypeSystem`NestedGrid`PackagePrivate`toCurrentData[
                   TypeSystem`NestedGrid`PackagePrivate`$state$$, 
                    TypeSystem`NestedGrid`PackagePrivate`copyClip]], 
                  MenuEvaluator -> Automatic], Delimiter, 
                 MenuItem["Paste position in new cell", 
                  KernelExecute[
                   TypeSystem`NestedGrid`PackagePrivate`toCurrentPosition[
                   TypeSystem`NestedGrid`PackagePrivate`cellPaste]], 
                  MenuEvaluator -> Automatic], 
                 MenuItem["Paste data in new cell", 
                  KernelExecute[
                   TypeSystem`NestedGrid`PackagePrivate`toCurrentData[
                   TypeSystem`NestedGrid`PackagePrivate`$state$$, 
                    TypeSystem`NestedGrid`PackagePrivate`cellPaste]], 
                  MenuEvaluator -> Automatic]}, FontFamily -> "Verdana", 
               FontSize -> 12}, Alignment -> Left, RowMinHeight -> 1.5, 
             Dividers -> All, FrameStyle -> GrayLevel[0.85], 
             BaseStyle -> {FontFamily -> "Verdana", FontSize -> 12}], 
            LineBreakWithin -> False, ContextMenu -> {}, NumberMarks -> False,
             ShowAutoStyles -> False]], 
         TypeSystem`NestedGrid`PackagePrivate`initialQ = True, 
         TypeSystem`NestedGrid`PackagePrivate`self = $Failed}, 
        Dynamic[
         TypeSystem`NestedGrid`PackagePrivate`setupViewPath[
         TypeSystem`NestedGrid`PackagePrivate`$path$$, If[
            Not[TypeSystem`NestedGrid`PackagePrivate`initialQ], 
            
            Module[{TypeSystem`NestedGrid`PackagePrivate`tmpGrid$ = $Failed, 
              TypeSystem`NestedGrid`PackagePrivate`tmpData$ = 
              TypeSystem`NestedGrid`PackagePrivate`LookupCacheValue[
                TypeSystem`NestedGrid`PackagePrivate`$state$$["Data"]]}, 
             TypeSystem`NestedGrid`PackagePrivate`tmpGrid$ = 
              If[TypeSystem`NestedGrid`PackagePrivate`tmpData$ === 
                TypeSystem`NestedGrid`PackagePrivate`$NotCached, 
                TypeSystem`NestedGrid`PackagePrivate`renderedGrid, 
                TypeSystem`NestedGrid`PackagePrivate`renderGrid[
                TypeSystem`NestedGrid`PackagePrivate`$state$$, 
                 TypeSystem`NestedGrid`PackagePrivate`$path$$, 
                 TypeSystem`NestedGrid`PackagePrivate`$pos$$, 
                 TypeSystem`NestedGrid`PackagePrivate`$grid$$, 1700675329][
                TypeSystem`NestedGrid`PackagePrivate`tmpData$]]; If[
               Not[
                FailureQ[TypeSystem`NestedGrid`PackagePrivate`tmpGrid$]], 
               TypeSystem`NestedGrid`PackagePrivate`renderedGrid = 
               TypeSystem`NestedGrid`PackagePrivate`tmpGrid$]; Null]]; 
          TypeSystem`NestedGrid`PackagePrivate`initialQ = False; 
          TypeSystem`NestedGrid`PackagePrivate`$pos$$; If[
            FailureQ[TypeSystem`NestedGrid`PackagePrivate`renderedGrid], 
            TypeSystem`SparseGrid[
             TypeSystem`H["(data no longer present)"]], 
            If[GeneralUtilities`$DebugMode, 
             Row[{TypeSystem`NestedGrid`PackagePrivate`renderedGrid, "  ", 
               TypeSystem`NestedGrid`PackagePrivate`formatState[
               TypeSystem`NestedGrid`PackagePrivate`$state$$, 
                TypeSystem`NestedGrid`PackagePrivate`$path$$, 
                TypeSystem`NestedGrid`PackagePrivate`$pos$$]}], 
             TypeSystem`NestedGrid`PackagePrivate`renderedGrid]]], 
         TrackedSymbols :> {TypeSystem`NestedGrid`PackagePrivate`$pos$$}], 
        DynamicModuleValues :> {}], 
      TypeSystem`NestedGrid`PackagePrivate`$posCell$$, 
      TypeSystem`NestedGrid`PackagePrivate`$topBar$$ = Dynamic[
        TypeSystem`NestedGrid`PackagePrivate`alignBar[
        TypeSystem`NestedGrid`PackagePrivate`$state$$][
         TypeSystem`NestedGrid`PackagePrivate`makeFramedBar[
          TypeSystem`PackageScope`Pathbar[
          TypeSystem`NestedGrid`PackagePrivate`$path$$, 
           TypeSystem`NestedGrid`PackagePrivate`updateState[
           TypeSystem`NestedGrid`PackagePrivate`$state$$, 
            TypeSystem`NestedGrid`PackagePrivate`$path$$, 
            TypeSystem`NestedGrid`PackagePrivate`$pos$$, 
            TypeSystem`NestedGrid`PackagePrivate`$grid$$, 1700675329]]]], 
        TrackedSymbols :> {TypeSystem`NestedGrid`PackagePrivate`$path$$}], 
      TypeSystem`NestedGrid`PackagePrivate`$bottomBar$$ = Framed[
        Dynamic[
         Replace[
          MouseAnnotation[Null], {
          TypeSystem`NestedGrid`PackagePrivate`$SliceMarker[1700675329][Null] -> 
           "", TypeSystem`NestedGrid`PackagePrivate`$SliceMarker[1700675329][
             Pattern[TypeSystem`NestedGrid`PackagePrivate`path, 
              Blank[]]] :> (
            TypeSystem`NestedGrid`PackagePrivate`$lastPath = 
             TypeSystem`NestedGrid`PackagePrivate`path; 
            TypeSystem`NestedGrid`PackagePrivate`makePathTrail[
             TypeSystem`NestedGrid`PackagePrivate`path, 
              TypeSystem`NestedGrid`PackagePrivate`makePathElements]), Null :> 
           Spacer[10], Blank[] :> Spacer[10]}], TrackedSymbols :> {}], 
        FrameStyle -> None, ImageMargins -> 0, FrameMargins -> 0, Alignment -> 
        Top, ImageSize -> {Automatic, 14}]}, 
     DynamicBox[
      ToBoxes[
       Column[
        If[TypeSystem`NestedGrid`PackagePrivate`$path$$ == {}, {
          TypeSystem`NestedGrid`PackagePrivate`displayScrollBar[
          TypeSystem`NestedGrid`PackagePrivate`$grid$$, 
           TypeSystem`NestedGrid`PackagePrivate`$state$$, 
           TypeSystem`NestedGrid`PackagePrivate`$pos$$], 
          TypeSystem`NestedGrid`PackagePrivate`onDesktopShow[
           TypeSystem`NestedGrid`PackagePrivate`alignBar[
           TypeSystem`NestedGrid`PackagePrivate`$state$$][
           TypeSystem`NestedGrid`PackagePrivate`$bottomBar$$]]}, {
         TypeSystem`NestedGrid`PackagePrivate`$topBar$$, 
          TypeSystem`NestedGrid`PackagePrivate`displayScrollBar[
          TypeSystem`NestedGrid`PackagePrivate`$grid$$, 
           TypeSystem`NestedGrid`PackagePrivate`$state$$, 
           TypeSystem`NestedGrid`PackagePrivate`$pos$$], 
          TypeSystem`NestedGrid`PackagePrivate`onDesktopShow[
           TypeSystem`NestedGrid`PackagePrivate`alignBar[
           TypeSystem`NestedGrid`PackagePrivate`$state$$][
           TypeSystem`NestedGrid`PackagePrivate`$bottomBar$$]]}], Spacings -> 
        If[TypeSystem`NestedGrid`PackagePrivate`$path$$ == {}, 
          0, {{}, {0, 0.05, 0}}]], StandardForm], 
      ImageSizeCache -> {437., {92.8544921875, 98.1455078125}}, 
      TrackedSymbols :> {
       TypeSystem`NestedGrid`PackagePrivate`$state$$, 
        TypeSystem`NestedGrid`PackagePrivate`$grid$$}], 
     BaseStyle -> {LineBreakWithin -> False}, Deinitialization :> 
     TypeSystem`NestedGrid`PackagePrivate`deleteState[
      TypeSystem`NestedGrid`PackagePrivate`$state$$], 
     DynamicModuleValues :> {}, Initialization :> 
     Block[{$ContextPath = $ContextPath}, 
       Needs["TypeSystem`"]]], Deploy, DefaultBaseStyle -> "Deploy"]},
  "CopyTag",
  DisplayFunction->(#& ),
  InterpretationFunction->("Dataset[<>]"& )]], "Output",
 CellChangeTimes->{{3.705378055446371*^9, 3.705378111967431*^9}, 
   3.7053938208239937`*^9, 3.7053940030929823`*^9, 3.705394060665082*^9, {
   3.705912613056922*^9, 3.705912640860694*^9}, 3.712469083790194*^9, 
   3.718442826308402*^9, 3.730402547002479*^9, 3.7304876733710814`*^9, 
   3.74080151179294*^9, 3.761725598786371*^9, 3.7617256814826117`*^9},
 CellLabel->"Out[3]=",
 CellID->1416172681,ExpressionUUID->"e9afcf93-463f-4fe0-a4b7-70cf75316fe1"]
}, Open  ]],

Cell[TextData[{
 "Let us transform to the unit cell corresponding to ",
 Cell[BoxData[
  RowBox[{
   SubscriptBox["P2", "1"], "/", "c"}]], "InlineFormula",ExpressionUUID->
  "c9371106-90f1-4fd4-97db-43a17572b006"],
 ":"
}], "ExampleText",
 CellChangeTimes->{{3.705393880223391*^9, 3.705393948069764*^9}},
 CellID->668713251,ExpressionUUID->"1aadf781-ecdd-40a8-bcc4-50e0ee2dfa6a"],

Cell[CellGroupData[{

Cell[BoxData[{
 RowBox[{
  RowBox[{"UnitCellTransformation", "[", 
   RowBox[{
   "\"\<Ferrocene\>\"", ",", 
    "\"\<\!\(\*SubscriptBox[\(P2\), \(1\)]\)/c\>\""}], "]"}], 
  ";"}], "\[IndentingNewLine]", 
 RowBox[{"Dataset", "@", 
  RowBox[{"$CrystalData", "[", 
   RowBox[{"[", 
    RowBox[{"\"\<Ferrocene\>\"", ",", 
     RowBox[{"{", 
      RowBox[{"\"\<SpaceGroup\>\"", ",", "\"\<LatticeParameters\>\""}], 
      "}"}]}], "]"}], "]"}]}]}], "Input",
 CellChangeTimes->{{3.7053781150266113`*^9, 3.705378118503768*^9}, {
   3.705393958339799*^9, 3.7053939901769247`*^9}, 3.705394048552368*^9},
 CellLabel->"In[4]:=",
 CellID->1361270022,ExpressionUUID->"60e4d0d3-267b-4722-b852-f8a51f45b198"],

Cell[BoxData[
 TemplateBox[{TagBox[
    DynamicModuleBox[{
     TypeSystem`NestedGrid`PackagePrivate`$state$$ = 
      Data`UnorderedAssociation[
       "RowCount" -> 20, "Length" -> 2, "InitialType" -> 
        TypeSystem`Struct[{"SpaceGroup", "LatticeParameters"}, {
           TypeSystem`Atom[String], 
           
           TypeSystem`Struct[{
            "a", "b", "c", "\[Alpha]", "\[Beta]", "\[Gamma]"}, {
             TypeSystem`Atom[
              Quantity[1, "Angstroms"]], 
             TypeSystem`Atom[
              Quantity[1, "Angstroms"]], 
             TypeSystem`Atom[
              Quantity[1, "Angstroms"]], 
             TypeSystem`Atom[
              Quantity[1, "AngularDegrees"]], 
             TypeSystem`Atom[
              Quantity[1, "AngularDegrees"]], 
             TypeSystem`Atom[
              Quantity[1, "AngularDegrees"]]}]}], "Shape" -> 
        TypeSystem`PackageScope`DocumentShape[
          
          Association[{"SpaceGroup"} -> 
           TypeSystem`PackageScope`AtomShape[278.40000000000003`], {
            "LatticeParameters", "a"} -> 
           TypeSystem`PackageScope`AtomShape[75], {"LatticeParameters", "b"} -> 
           TypeSystem`PackageScope`AtomShape[75], {"LatticeParameters", "c"} -> 
           TypeSystem`PackageScope`AtomShape[75], {
            "LatticeParameters", "\[Alpha]"} -> 
           TypeSystem`PackageScope`AtomShape[75], {
            "LatticeParameters", "\[Beta]"} -> 
           TypeSystem`PackageScope`AtomShape[75], {
            "LatticeParameters", "\[Gamma]"} -> 
           TypeSystem`PackageScope`AtomShape[75]], 2], "InitialData" -> 
        TypeSystem`PackageScope`CacheHandle[822995265], "Type" -> 
        TypeSystem`Struct[{"SpaceGroup", "LatticeParameters"}, {
           TypeSystem`Atom[String], 
           
           TypeSystem`Struct[{
            "a", "b", "c", "\[Alpha]", "\[Beta]", "\[Gamma]"}, {
             TypeSystem`Atom[
              Quantity[1, "Angstroms"]], 
             TypeSystem`Atom[
              Quantity[1, "Angstroms"]], 
             TypeSystem`Atom[
              Quantity[1, "Angstroms"]], 
             TypeSystem`Atom[
              Quantity[1, "AngularDegrees"]], 
             TypeSystem`Atom[
              Quantity[1, "AngularDegrees"]], 
             TypeSystem`Atom[
              Quantity[1, "AngularDegrees"]]}]}], "HandleQ" -> True, 
        "RowTarget" -> 20, "Data" -> 
        TypeSystem`PackageScope`CacheHandle[822995265]], 
      TypeSystem`NestedGrid`PackagePrivate`$path$$ = {}, 
      TypeSystem`NestedGrid`PackagePrivate`$pos$$ = 1, 
      TypeSystem`NestedGrid`PackagePrivate`$grid$$ = 
      DynamicModule[{
        TypeSystem`NestedGrid`PackagePrivate`renderedGrid = Deploy[
           Style[
            Grid[{{
               Item[
                Annotation[
                 EventHandler[
                  MouseAppearance[
                   Mouseover[
                    Pane[
                    RawBoxes[
                    StyleBox[
                    "\"SpaceGroup\"", FontColor -> GrayLevel[0.4]]], {{
                    20, Full}, 15}], 
                    Style[
                    Pane[
                    RawBoxes[
                    StyleBox[
                    "\"SpaceGroup\"", FontColor -> 
                    RGBColor[
                    0.27450980392156865`, 0.5372549019607843, 
                    0.792156862745098]]], {{20, Full}, 15}], FontColor -> 
                    RGBColor[
                    0.27450980392156865`, 0.5372549019607843, 
                    0.792156862745098]]], "LinkHand"], {"MouseClicked", 1} :> 
                  TypeSystem`NestedGrid`PackagePrivate`updateState[
                   TypeSystem`NestedGrid`PackagePrivate`$state$$, 
                    TypeSystem`NestedGrid`PackagePrivate`$path$$, 
                    TypeSystem`NestedGrid`PackagePrivate`$pos$$, 
                    TypeSystem`NestedGrid`PackagePrivate`$grid$$, 
                    1714293336][{"SpaceGroup"}]], 
                 TypeSystem`NestedGrid`PackagePrivate`$SliceMarker[1714293336][
                  GeneralUtilities`Slice["SpaceGroup"]], "Mouse"], Background -> 
                GrayLevel[0.95], Alignment -> {Left, Baseline}], SpanFromLeft, 
               Pane[
                Annotation["\!\(\*SubscriptBox[\(P2\), \(1\)]\)/c", 
                 TypeSystem`NestedGrid`PackagePrivate`$SliceMarker[1714293336][
                  GeneralUtilities`Slice["SpaceGroup"]], "Mouse"], 
                ImageSize -> {{278.40000000000003`, Full}, Automatic}, 
                Alignment -> {Left, Baseline}]}, {
               Item[
                Annotation[
                 EventHandler[
                  MouseAppearance[
                   Mouseover[
                    Pane[
                    RawBoxes[
                    StyleBox[
                    "\"LatticeParameters\"", FontColor -> GrayLevel[0.4]]], {{
                    20, Full}, 15}], 
                    Style[
                    Pane[
                    RawBoxes[
                    StyleBox[
                    "\"LatticeParameters\"", FontColor -> 
                    RGBColor[
                    0.27450980392156865`, 0.5372549019607843, 
                    0.792156862745098]]], {{20, Full}, 15}], FontColor -> 
                    RGBColor[
                    0.27450980392156865`, 0.5372549019607843, 
                    0.792156862745098]]], "LinkHand"], {"MouseClicked", 1} :> 
                  TypeSystem`NestedGrid`PackagePrivate`updateState[
                   TypeSystem`NestedGrid`PackagePrivate`$state$$, 
                    TypeSystem`NestedGrid`PackagePrivate`$path$$, 
                    TypeSystem`NestedGrid`PackagePrivate`$pos$$, 
                    TypeSystem`NestedGrid`PackagePrivate`$grid$$, 
                    1714293336][{"LatticeParameters", "a"}]], 
                 TypeSystem`NestedGrid`PackagePrivate`$SliceMarker[1714293336][
                  GeneralUtilities`Slice["LatticeParameters", "a"]], "Mouse"],
                 Background -> GrayLevel[0.95], 
                Alignment -> {Left, Baseline}], 
               Item[
                Annotation[
                 EventHandler[
                  MouseAppearance[
                   Mouseover[
                    Pane[
                    RawBoxes[
                    StyleBox["\"a\"", FontColor -> GrayLevel[0.4]]], {{
                    20, Full}, 15}], 
                    Style[
                    Pane[
                    RawBoxes[
                    StyleBox[
                    "\"a\"", FontColor -> 
                    RGBColor[
                    0.27450980392156865`, 0.5372549019607843, 
                    0.792156862745098]]], {{20, Full}, 15}], FontColor -> 
                    RGBColor[
                    0.27450980392156865`, 0.5372549019607843, 
                    0.792156862745098]]], "LinkHand"], {"MouseClicked", 1} :> 
                  TypeSystem`NestedGrid`PackagePrivate`updateState[
                   TypeSystem`NestedGrid`PackagePrivate`$state$$, 
                    TypeSystem`NestedGrid`PackagePrivate`$path$$, 
                    TypeSystem`NestedGrid`PackagePrivate`$pos$$, 
                    TypeSystem`NestedGrid`PackagePrivate`$grid$$, 
                    1714293336][{"LatticeParameters", "a"}]], 
                 TypeSystem`NestedGrid`PackagePrivate`$SliceMarker[1714293336][
                  GeneralUtilities`Slice["LatticeParameters", "a"]], "Mouse"],
                 Background -> GrayLevel[0.95], 
                Alignment -> {Left, Baseline}], 
               Pane[
                Annotation[
                 RawBoxes[
                  StyleBox[
                   RowBox[{"9.041`", "\"\[CapitalARing]\""}], FontColor -> 
                   RGBColor[{
                    Rational[33, 74], 
                    Rational[27, 74], 
                    Rational[117, 370]}]]], 
                 TypeSystem`NestedGrid`PackagePrivate`$SliceMarker[1714293336][
                  GeneralUtilities`Slice["LatticeParameters", "a"]], "Mouse"],
                 ImageSize -> {{75, Full}, Automatic}, 
                Alignment -> {Left, Baseline}]}, {SpanFromAbove, 
               Item[
                Annotation[
                 EventHandler[
                  MouseAppearance[
                   Mouseover[
                    Pane[
                    RawBoxes[
                    StyleBox["\"b\"", FontColor -> GrayLevel[0.4]]], {{
                    20, Full}, 15}], 
                    Style[
                    Pane[
                    RawBoxes[
                    StyleBox[
                    "\"b\"", FontColor -> 
                    RGBColor[
                    0.27450980392156865`, 0.5372549019607843, 
                    0.792156862745098]]], {{20, Full}, 15}], FontColor -> 
                    RGBColor[
                    0.27450980392156865`, 0.5372549019607843, 
                    0.792156862745098]]], "LinkHand"], {"MouseClicked", 1} :> 
                  TypeSystem`NestedGrid`PackagePrivate`updateState[
                   TypeSystem`NestedGrid`PackagePrivate`$state$$, 
                    TypeSystem`NestedGrid`PackagePrivate`$path$$, 
                    TypeSystem`NestedGrid`PackagePrivate`$pos$$, 
                    TypeSystem`NestedGrid`PackagePrivate`$grid$$, 
                    1714293336][{"LatticeParameters", "b"}]], 
                 TypeSystem`NestedGrid`PackagePrivate`$SliceMarker[1714293336][
                  GeneralUtilities`Slice["LatticeParameters", "b"]], "Mouse"],
                 Background -> GrayLevel[0.95], 
                Alignment -> {Left, Baseline}], 
               Pane[
                Annotation[
                 RawBoxes[
                  StyleBox[
                   RowBox[{"7.612`", "\"\[CapitalARing]\""}], FontColor -> 
                   RGBColor[{
                    Rational[33, 74], 
                    Rational[27, 74], 
                    Rational[117, 370]}]]], 
                 TypeSystem`NestedGrid`PackagePrivate`$SliceMarker[1714293336][
                  GeneralUtilities`Slice["LatticeParameters", "b"]], "Mouse"],
                 ImageSize -> {{75, Full}, Automatic}, 
                Alignment -> {Left, Baseline}]}, {SpanFromAbove, 
               Item[
                Annotation[
                 EventHandler[
                  MouseAppearance[
                   Mouseover[
                    Pane[
                    RawBoxes[
                    StyleBox["\"c\"", FontColor -> GrayLevel[0.4]]], {{
                    20, Full}, 15}], 
                    Style[
                    Pane[
                    RawBoxes[
                    StyleBox[
                    "\"c\"", FontColor -> 
                    RGBColor[
                    0.27450980392156865`, 0.5372549019607843, 
                    0.792156862745098]]], {{20, Full}, 15}], FontColor -> 
                    RGBColor[
                    0.27450980392156865`, 0.5372549019607843, 
                    0.792156862745098]]], "LinkHand"], {"MouseClicked", 1} :> 
                  TypeSystem`NestedGrid`PackagePrivate`updateState[
                   TypeSystem`NestedGrid`PackagePrivate`$state$$, 
                    TypeSystem`NestedGrid`PackagePrivate`$path$$, 
                    TypeSystem`NestedGrid`PackagePrivate`$pos$$, 
                    TypeSystem`NestedGrid`PackagePrivate`$grid$$, 
                    1714293336][{"LatticeParameters", "c"}]], 
                 TypeSystem`NestedGrid`PackagePrivate`$SliceMarker[1714293336][
                  GeneralUtilities`Slice["LatticeParameters", "c"]], "Mouse"],
                 Background -> GrayLevel[0.95], 
                Alignment -> {Left, Baseline}], 
               Pane[
                Annotation[
                 RawBoxes[
                  StyleBox[
                   RowBox[{"10.534940555671229`", "\"\[CapitalARing]\""}], 
                   FontColor -> RGBColor[{
                    Rational[33, 74], 
                    Rational[27, 74], 
                    Rational[117, 370]}]]], 
                 TypeSystem`NestedGrid`PackagePrivate`$SliceMarker[1714293336][
                  GeneralUtilities`Slice["LatticeParameters", "c"]], "Mouse"],
                 ImageSize -> {{75, Full}, Automatic}, 
                Alignment -> {Left, Baseline}]}, {SpanFromAbove, 
               Item[
                Annotation[
                 EventHandler[
                  MouseAppearance[
                   Mouseover[
                    Pane[
                    RawBoxes[
                    StyleBox["\"\[Alpha]\"", FontColor -> GrayLevel[0.4]]], {{
                    20, Full}, 15}], 
                    Style[
                    Pane[
                    RawBoxes[
                    StyleBox[
                    "\"\[Alpha]\"", FontColor -> 
                    RGBColor[
                    0.27450980392156865`, 0.5372549019607843, 
                    0.792156862745098]]], {{20, Full}, 15}], FontColor -> 
                    RGBColor[
                    0.27450980392156865`, 0.5372549019607843, 
                    0.792156862745098]]], "LinkHand"], {"MouseClicked", 1} :> 
                  TypeSystem`NestedGrid`PackagePrivate`updateState[
                   TypeSystem`NestedGrid`PackagePrivate`$state$$, 
                    TypeSystem`NestedGrid`PackagePrivate`$path$$, 
                    TypeSystem`NestedGrid`PackagePrivate`$pos$$, 
                    TypeSystem`NestedGrid`PackagePrivate`$grid$$, 
                    1714293336][{"LatticeParameters", "\[Alpha]"}]], 
                 TypeSystem`NestedGrid`PackagePrivate`$SliceMarker[1714293336][
                  GeneralUtilities`Slice["LatticeParameters", "\[Alpha]"]], 
                 "Mouse"], Background -> GrayLevel[0.95], 
                Alignment -> {Left, Baseline}], 
               Pane[
                Annotation[
                 RawBoxes[
                  StyleBox[
                   TemplateBox[{"90", 
                    RowBox[{"\[InvisibleSpace]", "\"\[Degree]\""}], "degrees",
                     "\"AngularDegrees\""}, "QuantityPostfix", SyntaxForm -> 
                    Mod], FontColor -> RGBColor[{
                    Rational[33, 74], 
                    Rational[27, 74], 
                    Rational[117, 370]}]]], 
                 TypeSystem`NestedGrid`PackagePrivate`$SliceMarker[1714293336][
                  GeneralUtilities`Slice["LatticeParameters", "\[Alpha]"]], 
                 "Mouse"], ImageSize -> {{75, Full}, Automatic}, 
                Alignment -> {Left, Baseline}]}, {SpanFromAbove, 
               Item[
                Annotation[
                 EventHandler[
                  MouseAppearance[
                   Mouseover[
                    Pane[
                    RawBoxes[
                    StyleBox["\"\[Beta]\"", FontColor -> GrayLevel[0.4]]], {{
                    20, Full}, 15}], 
                    Style[
                    Pane[
                    RawBoxes[
                    StyleBox[
                    "\"\[Beta]\"", FontColor -> 
                    RGBColor[
                    0.27450980392156865`, 0.5372549019607843, 
                    0.792156862745098]]], {{20, Full}, 15}], FontColor -> 
                    RGBColor[
                    0.27450980392156865`, 0.5372549019607843, 
                    0.792156862745098]]], "LinkHand"], {"MouseClicked", 1} :> 
                  TypeSystem`NestedGrid`PackagePrivate`updateState[
                   TypeSystem`NestedGrid`PackagePrivate`$state$$, 
                    TypeSystem`NestedGrid`PackagePrivate`$path$$, 
                    TypeSystem`NestedGrid`PackagePrivate`$pos$$, 
                    TypeSystem`NestedGrid`PackagePrivate`$grid$$, 
                    1714293336][{"LatticeParameters", "\[Beta]"}]], 
                 TypeSystem`NestedGrid`PackagePrivate`$SliceMarker[1714293336][
                  GeneralUtilities`Slice["LatticeParameters", "\[Beta]"]], 
                 "Mouse"], Background -> GrayLevel[0.95], 
                Alignment -> {Left, Baseline}], 
               Pane[
                Annotation[
                 RawBoxes[
                  StyleBox[
                   TemplateBox[{"145.81319317157215`", 
                    RowBox[{"\[InvisibleSpace]", "\"\[Degree]\""}], "degrees",
                     "\"AngularDegrees\""}, "QuantityPostfix", SyntaxForm -> 
                    Mod], FontColor -> RGBColor[{
                    Rational[33, 74], 
                    Rational[27, 74], 
                    Rational[117, 370]}]]], 
                 TypeSystem`NestedGrid`PackagePrivate`$SliceMarker[1714293336][
                  GeneralUtilities`Slice["LatticeParameters", "\[Beta]"]], 
                 "Mouse"], ImageSize -> {{75, Full}, Automatic}, 
                Alignment -> {Left, Baseline}]}, {SpanFromAbove, 
               Item[
                Annotation[
                 EventHandler[
                  MouseAppearance[
                   Mouseover[
                    Pane[
                    RawBoxes[
                    StyleBox["\"\[Gamma]\"", FontColor -> GrayLevel[0.4]]], {{
                    20, Full}, 15}], 
                    Style[
                    Pane[
                    RawBoxes[
                    StyleBox[
                    "\"\[Gamma]\"", FontColor -> 
                    RGBColor[
                    0.27450980392156865`, 0.5372549019607843, 
                    0.792156862745098]]], {{20, Full}, 15}], FontColor -> 
                    RGBColor[
                    0.27450980392156865`, 0.5372549019607843, 
                    0.792156862745098]]], "LinkHand"], {"MouseClicked", 1} :> 
                  TypeSystem`NestedGrid`PackagePrivate`updateState[
                   TypeSystem`NestedGrid`PackagePrivate`$state$$, 
                    TypeSystem`NestedGrid`PackagePrivate`$path$$, 
                    TypeSystem`NestedGrid`PackagePrivate`$pos$$, 
                    TypeSystem`NestedGrid`PackagePrivate`$grid$$, 
                    1714293336][{"LatticeParameters", "\[Gamma]"}]], 
                 TypeSystem`NestedGrid`PackagePrivate`$SliceMarker[1714293336][
                  GeneralUtilities`Slice["LatticeParameters", "\[Gamma]"]], 
                 "Mouse"], Background -> GrayLevel[0.95], 
                Alignment -> {Left, Baseline}], 
               Pane[
                Annotation[
                 RawBoxes[
                  StyleBox[
                   TemplateBox[{"90", 
                    RowBox[{"\[InvisibleSpace]", "\"\[Degree]\""}], "degrees",
                     "\"AngularDegrees\""}, "QuantityPostfix", SyntaxForm -> 
                    Mod], FontColor -> RGBColor[{
                    Rational[33, 74], 
                    Rational[27, 74], 
                    Rational[117, 370]}]]], 
                 TypeSystem`NestedGrid`PackagePrivate`$SliceMarker[1714293336][
                  GeneralUtilities`Slice["LatticeParameters", "\[Gamma]"]], 
                 "Mouse"], ImageSize -> {{75, Full}, Automatic}, 
                Alignment -> {Left, Baseline}]}}, BaseStyle -> {ContextMenu -> {
                 MenuItem["Copy position to clipboard", 
                  KernelExecute[
                   TypeSystem`NestedGrid`PackagePrivate`toCurrentPosition[
                   TypeSystem`NestedGrid`PackagePrivate`copyClip]], 
                  MenuEvaluator -> Automatic], 
                 MenuItem["Copy data to clipboard", 
                  KernelExecute[
                   TypeSystem`NestedGrid`PackagePrivate`toCurrentData[
                   TypeSystem`NestedGrid`PackagePrivate`$state$$, 
                    TypeSystem`NestedGrid`PackagePrivate`copyClip]], 
                  MenuEvaluator -> Automatic], Delimiter, 
                 MenuItem["Paste position in new cell", 
                  KernelExecute[
                   TypeSystem`NestedGrid`PackagePrivate`toCurrentPosition[
                   TypeSystem`NestedGrid`PackagePrivate`cellPaste]], 
                  MenuEvaluator -> Automatic], 
                 MenuItem["Paste data in new cell", 
                  KernelExecute[
                   TypeSystem`NestedGrid`PackagePrivate`toCurrentData[
                   TypeSystem`NestedGrid`PackagePrivate`$state$$, 
                    TypeSystem`NestedGrid`PackagePrivate`cellPaste]], 
                  MenuEvaluator -> Automatic]}, FontFamily -> "Verdana", 
               FontSize -> 12}, Alignment -> Left, RowMinHeight -> 1.5, 
             Dividers -> All, FrameStyle -> GrayLevel[0.85], 
             BaseStyle -> {FontFamily -> "Verdana", FontSize -> 12}], 
            LineBreakWithin -> False, ContextMenu -> {}, NumberMarks -> False,
             ShowAutoStyles -> False]], 
         TypeSystem`NestedGrid`PackagePrivate`initialQ = True, 
         TypeSystem`NestedGrid`PackagePrivate`self = $Failed}, 
        Dynamic[
         TypeSystem`NestedGrid`PackagePrivate`setupViewPath[
         TypeSystem`NestedGrid`PackagePrivate`$path$$, If[
            Not[TypeSystem`NestedGrid`PackagePrivate`initialQ], 
            
            Module[{TypeSystem`NestedGrid`PackagePrivate`tmpGrid$ = $Failed, 
              TypeSystem`NestedGrid`PackagePrivate`tmpData$ = 
              TypeSystem`NestedGrid`PackagePrivate`LookupCacheValue[
                TypeSystem`NestedGrid`PackagePrivate`$state$$["Data"]]}, 
             TypeSystem`NestedGrid`PackagePrivate`tmpGrid$ = 
              If[TypeSystem`NestedGrid`PackagePrivate`tmpData$ === 
                TypeSystem`NestedGrid`PackagePrivate`$NotCached, 
                TypeSystem`NestedGrid`PackagePrivate`renderedGrid, 
                TypeSystem`NestedGrid`PackagePrivate`renderGrid[
                TypeSystem`NestedGrid`PackagePrivate`$state$$, 
                 TypeSystem`NestedGrid`PackagePrivate`$path$$, 
                 TypeSystem`NestedGrid`PackagePrivate`$pos$$, 
                 TypeSystem`NestedGrid`PackagePrivate`$grid$$, 1714293336][
                TypeSystem`NestedGrid`PackagePrivate`tmpData$]]; If[
               Not[
                FailureQ[TypeSystem`NestedGrid`PackagePrivate`tmpGrid$]], 
               TypeSystem`NestedGrid`PackagePrivate`renderedGrid = 
               TypeSystem`NestedGrid`PackagePrivate`tmpGrid$]; Null]]; 
          TypeSystem`NestedGrid`PackagePrivate`initialQ = False; 
          TypeSystem`NestedGrid`PackagePrivate`$pos$$; If[
            FailureQ[TypeSystem`NestedGrid`PackagePrivate`renderedGrid], 
            TypeSystem`SparseGrid[
             TypeSystem`H["(data no longer present)"]], 
            If[GeneralUtilities`$DebugMode, 
             Row[{TypeSystem`NestedGrid`PackagePrivate`renderedGrid, "  ", 
               TypeSystem`NestedGrid`PackagePrivate`formatState[
               TypeSystem`NestedGrid`PackagePrivate`$state$$, 
                TypeSystem`NestedGrid`PackagePrivate`$path$$, 
                TypeSystem`NestedGrid`PackagePrivate`$pos$$]}], 
             TypeSystem`NestedGrid`PackagePrivate`renderedGrid]]], 
         TrackedSymbols :> {TypeSystem`NestedGrid`PackagePrivate`$pos$$}], 
        DynamicModuleValues :> {}], 
      TypeSystem`NestedGrid`PackagePrivate`$posCell$$, 
      TypeSystem`NestedGrid`PackagePrivate`$topBar$$ = Dynamic[
        TypeSystem`NestedGrid`PackagePrivate`alignBar[
        TypeSystem`NestedGrid`PackagePrivate`$state$$][
         TypeSystem`NestedGrid`PackagePrivate`makeFramedBar[
          TypeSystem`PackageScope`Pathbar[
          TypeSystem`NestedGrid`PackagePrivate`$path$$, 
           TypeSystem`NestedGrid`PackagePrivate`updateState[
           TypeSystem`NestedGrid`PackagePrivate`$state$$, 
            TypeSystem`NestedGrid`PackagePrivate`$path$$, 
            TypeSystem`NestedGrid`PackagePrivate`$pos$$, 
            TypeSystem`NestedGrid`PackagePrivate`$grid$$, 1714293336]]]], 
        TrackedSymbols :> {TypeSystem`NestedGrid`PackagePrivate`$path$$}], 
      TypeSystem`NestedGrid`PackagePrivate`$bottomBar$$ = Framed[
        Dynamic[
         Replace[
          MouseAnnotation[Null], {
          TypeSystem`NestedGrid`PackagePrivate`$SliceMarker[1714293336][Null] -> 
           "", TypeSystem`NestedGrid`PackagePrivate`$SliceMarker[1714293336][
             Pattern[TypeSystem`NestedGrid`PackagePrivate`path, 
              Blank[]]] :> (
            TypeSystem`NestedGrid`PackagePrivate`$lastPath = 
             TypeSystem`NestedGrid`PackagePrivate`path; 
            TypeSystem`NestedGrid`PackagePrivate`makePathTrail[
             TypeSystem`NestedGrid`PackagePrivate`path, 
              TypeSystem`NestedGrid`PackagePrivate`makePathElements]), Null :> 
           Spacer[10], Blank[] :> Spacer[10]}], TrackedSymbols :> {}], 
        FrameStyle -> None, ImageMargins -> 0, FrameMargins -> 0, Alignment -> 
        Top, ImageSize -> {Automatic, 14}]}, 
     DynamicBox[
      ToBoxes[
       Column[
        If[TypeSystem`NestedGrid`PackagePrivate`$path$$ == {}, {
          TypeSystem`NestedGrid`PackagePrivate`displayScrollBar[
          TypeSystem`NestedGrid`PackagePrivate`$grid$$, 
           TypeSystem`NestedGrid`PackagePrivate`$state$$, 
           TypeSystem`NestedGrid`PackagePrivate`$pos$$], 
          TypeSystem`NestedGrid`PackagePrivate`onDesktopShow[
           TypeSystem`NestedGrid`PackagePrivate`alignBar[
           TypeSystem`NestedGrid`PackagePrivate`$state$$][
           TypeSystem`NestedGrid`PackagePrivate`$bottomBar$$]]}, {
         TypeSystem`NestedGrid`PackagePrivate`$topBar$$, 
          TypeSystem`NestedGrid`PackagePrivate`displayScrollBar[
          TypeSystem`NestedGrid`PackagePrivate`$grid$$, 
           TypeSystem`NestedGrid`PackagePrivate`$state$$, 
           TypeSystem`NestedGrid`PackagePrivate`$pos$$], 
          TypeSystem`NestedGrid`PackagePrivate`onDesktopShow[
           TypeSystem`NestedGrid`PackagePrivate`alignBar[
           TypeSystem`NestedGrid`PackagePrivate`$state$$][
           TypeSystem`NestedGrid`PackagePrivate`$bottomBar$$]]}], Spacings -> 
        If[TypeSystem`NestedGrid`PackagePrivate`$path$$ == {}, 
          0, {{}, {0, 0.05, 0}}]], StandardForm], 
      ImageSizeCache -> {437., {92.8544921875, 98.1455078125}}, 
      TrackedSymbols :> {
       TypeSystem`NestedGrid`PackagePrivate`$state$$, 
        TypeSystem`NestedGrid`PackagePrivate`$grid$$}], 
     BaseStyle -> {LineBreakWithin -> False}, Deinitialization :> 
     TypeSystem`NestedGrid`PackagePrivate`deleteState[
      TypeSystem`NestedGrid`PackagePrivate`$state$$], 
     DynamicModuleValues :> {}, Initialization :> 
     Block[{$ContextPath = $ContextPath}, 
       Needs["TypeSystem`"]]], Deploy, DefaultBaseStyle -> "Deploy"]},
  "CopyTag",
  DisplayFunction->(#& ),
  InterpretationFunction->("Dataset[<>]"& )]], "Output",
 CellChangeTimes->{{3.705393969569312*^9, 3.705393990567717*^9}, {
   3.705394050444213*^9, 3.705394060946662*^9}, {3.705912621300672*^9, 
   3.7059126411656027`*^9}, 3.712469087069997*^9, 3.718442829460368*^9, 
   3.7304025542576857`*^9, 3.7304876735849113`*^9, 3.740801514609655*^9, 
   3.7617255990916986`*^9, 3.761725681887582*^9},
 CellLabel->"Out[5]=",
 CellID->1052989866,ExpressionUUID->"927d80ad-8220-46e0-8f59-36f76949ea14"]
}, Open  ]]
}, Open  ]]
}, Open  ]],

Cell[BoxData[
 InterpretationBox[Cell[
  "Generalizations & Extensions", "ExampleSection",ExpressionUUID->
   "bd0f0730-a1ce-49bf-a245-7bc5edafc8a1"],
  $Line = 0; Null]], "ExampleSection",
 CellID->1020263627,ExpressionUUID->"8fb92e8d-24ea-46ff-b323-dee12f444cbf"],

Cell[CellGroupData[{

Cell[BoxData[
 InterpretationBox[Cell[
  "Options", "ExampleSection",ExpressionUUID->
   "ff3abad0-b4ee-4b6f-8214-02bc83ff4d1b"],
  $Line = 0; Null]], "ExampleSection",
 CellID->2061341341,ExpressionUUID->"4f2a6401-0908-409b-8490-5fb5e4da3ce6"],

Cell[CellGroupData[{

Cell[BoxData[
 InterpretationBox[Cell[
  "\"ReturnP\"", "ExampleSubsection",ExpressionUUID->
   "b5436eaa-60ef-494f-a2e6-4d0b5c736926"],
  $Line = 0; Null]], "ExampleSubsection",
 CellChangeTimes->{{3.7059127986393003`*^9, 3.7059128038481417`*^9}},
 CellID->1757724783,ExpressionUUID->"3a12da16-7686-4802-af21-a2885daf3b3d"],

Cell[TextData[{
 "Make the function return the transformation matrix ",
 Cell[BoxData[
  FormBox["P", TraditionalForm]], "InlineMath",ExpressionUUID->
  "e9f2ecd1-592d-442b-aa02-12a2806f9ec8"],
 " that is to be used:"
}], "ExampleText",
 CellChangeTimes->{{3.7059126743883944`*^9, 3.705912710981141*^9}},
 CellID->1080897061,ExpressionUUID->"30f46b86-801b-400c-b60d-7e3fab3c41c7"],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{"UnitCellTransformation", "[", 
  RowBox[{"\"\<Ferrocene\>\"", ",", 
   RowBox[{"\"\<UniqueAxis\>\"", "\[Rule]", "\"\<c\>\""}], ",", 
   RowBox[{"\"\<ReturnP\>\"", "\[Rule]", "True"}]}], "]"}]], "Input",
 CellChangeTimes->{{3.705912735764958*^9, 3.705912751746937*^9}, {
  3.712469343156003*^9, 3.7124693546040783`*^9}},
 CellLabel->"In[1]:=",
 CellID->117858225,ExpressionUUID->"2ef2ab97-fb84-4e41-b109-d4e7356a013a"],

Cell[BoxData[
 RowBox[{"{", 
  RowBox[{
   RowBox[{"{", 
    RowBox[{"0", ",", "1", ",", "0"}], "}"}], ",", 
   RowBox[{"{", 
    RowBox[{"0", ",", "0", ",", "1"}], "}"}], ",", 
   RowBox[{"{", 
    RowBox[{"1", ",", "0", ",", "0"}], "}"}]}], "}"}]], "Output",
 CellChangeTimes->{{3.7059127528027573`*^9, 3.705912770069231*^9}, 
   3.7124693605118713`*^9, 3.7184428987263002`*^9, 3.730402567105179*^9, 
   3.73048768745855*^9},
 CellLabel->"Out[1]=",
 CellID->556641501,ExpressionUUID->"2d5f223d-b168-4290-8df2-5238318a5acc"]
}, Open  ]],

Cell["\<\
The procedure stops when returning this matrix; the transformation is not \
carried out.\
\>", "ExampleText",
 CellChangeTimes->{{3.740801549529958*^9, 3.740801567776462*^9}},
 CellID->2116444218,ExpressionUUID->"585b58d2-cba6-4d6b-b88a-3ea24d0a14e9"]
}, Open  ]]
}, Open  ]],

Cell[BoxData[
 InterpretationBox[Cell[
  "Applications", "ExampleSection",ExpressionUUID->
   "6d98952a-9733-4fc5-bb90-be019245a6b1"],
  $Line = 0; Null]], "ExampleSection",
 CellID->258228157,ExpressionUUID->"1eddcd96-feec-486e-942d-25c57d93d5d8"],

Cell[BoxData[
 InterpretationBox[Cell[
  "Properties & Relations", "ExampleSection",ExpressionUUID->
   "6f8d50b9-3a19-4ea8-8067-02455e1e5fab"],
  $Line = 0; Null]], "ExampleSection",
 CellID->2123667759,ExpressionUUID->"291d9f44-de48-4222-b123-e93ec66a9123"],

Cell[CellGroupData[{

Cell[BoxData[
 InterpretationBox[Cell[
  "Possible Issues", "ExampleSection",ExpressionUUID->
   "bde7954d-dc39-40cc-8467-245a835ead7b"],
  $Line = 0; Null]], "ExampleSection",
 CellID->1305812373,ExpressionUUID->"06a91ad3-0d42-4e9c-bb02-6cd9928a6286"],

Cell["Not all space groups have alternative settings.", "ExampleText",
 CellChangeTimes->{{3.712466622974766*^9, 3.712466632755948*^9}},
 CellID->690732889,ExpressionUUID->"f001dbd0-9824-4371-b35c-96e4c20bb075"],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{"UnitCellTransformation", "[", 
  RowBox[{"\"\<Glycyl-L-alanine\>\"", ",", 
   RowBox[{"\"\<AxisPermutation\>\"", "\[Rule]", "\"\<-cba\>\""}]}], 
  "]"}]], "Input",
 CellChangeTimes->{{3.7053942413159523`*^9, 3.7053942541346617`*^9}, {
  3.705394427650959*^9, 3.705394443460073*^9}, {3.7053944765213337`*^9, 
  3.7053944876600513`*^9}},
 CellLabel->"In[1]:=",
 CellID->69545001,ExpressionUUID->"bc73b6fb-d028-4067-aa5a-0a0af4118882"],

Cell[BoxData[
 TemplateBox[{
  "UnitCellTransformation","one",
   "\"This space group, \
\[LeftGuillemet]\\!\\(\\*RowBox[{\\\"\\\\\\\"\\\\\\\\!\\\\\\\\(\\\\\\\\*\
SubscriptBox[\\\\\\\\(P2\\\\\\\\), \\\\\\\\(1\\\\\\\\)]\\\\\\\\)\\\\\\\\!\\\\\
\\\\(\\\\\\\\*SubscriptBox[\\\\\\\\(2\\\\\\\\), \\\\\\\\(1\\\\\\\\)]\\\\\\\\)\
\\\\\\\\!\\\\\\\\(\\\\\\\\*SubscriptBox[\\\\\\\\(2\\\\\\\\), \\\\\\\\(1\\\\\\\
\\)]\\\\\\\\)\\\\\\\"\\\"}]\\)\[RightGuillemet] (no. \
\\!\\(\\*RowBox[{\\\"19\\\"}]\\)), has no alternative representations.\"",2,1,
   1,26405248560859951525,"Local"},
  "MessageTemplate"]], "Message", "MSG",
 CellChangeTimes->{3.712466522550988*^9, 3.718442319804195*^9, 
  3.718442910930428*^9, 3.730402580884479*^9, 3.730487694609928*^9},
 CellLabel->"During evaluation of In[1]:=",
 CellID->1539172892,ExpressionUUID->"61844de6-62c2-49a0-989f-f0cd666c9ca2"],

Cell[BoxData["$Aborted"], "Output",
 CellChangeTimes->{{3.705394245898705*^9, 3.7053942545592537`*^9}, {
   3.7053944341386557`*^9, 3.705394444032407*^9}, {3.705394478107058*^9, 
   3.7053944882808523`*^9}, 3.705394797502837*^9, 3.705912660963125*^9, 
   3.7124665225596113`*^9, 3.718442319831574*^9, 3.718442910965413*^9, 
   3.730402580910261*^9, 3.730487694640387*^9},
 CellLabel->"Out[1]=",
 CellID->290784082,ExpressionUUID->"6f156690-1885-49a5-a9f1-f8064e97c55b"]
}, Open  ]]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
 InterpretationBox[Cell[
  "Interactive Examples", "ExampleSection",ExpressionUUID->
   "a17465e8-f5c0-4410-8f99-000226af0f16"],
  $Line = 0; Null]], "ExampleSection",
 CellID->1653164318,ExpressionUUID->"c6ba3e40-c0aa-4c6d-9014-bfc866ce0bd0"],

Cell[TextData[{
 "Let us reload the ",
 StyleBox[".cif", "Program"],
 " file for ferrocene:"
}], "ExampleText",
 CellChangeTimes->{{3.705393843500236*^9, 3.705393862252653*^9}, {
  3.712466401501433*^9, 3.712466401895605*^9}},
 CellID->200455833,ExpressionUUID->"f255d103-e4e9-4218-9c51-1c9c9fcb8cf0"],

Cell[CellGroupData[{

Cell[BoxData[{
 RowBox[{
  RowBox[{"cif", "=", 
   RowBox[{"FileNameJoin", "[", 
    RowBox[{"{", 
     RowBox[{
     "$MaXrdPath", ",", "\"\<ExampleFiles\>\"", ",", "\"\<CIF\>\"", ",", 
      "\"\<Ferrocene.cif\>\""}], "}"}], "]"}]}], ";"}], "\[IndentingNewLine]", 
 RowBox[{"ImportCrystalData", "[", "cif", "]"}]}], "Input",
 CellChangeTimes->{{3.705378124375155*^9, 3.705378173279726*^9}, {
   3.705378206120083*^9, 3.705378232327504*^9}, {3.712466461197624*^9, 
   3.712466461807149*^9}, 3.717951574772726*^9, 3.718442843802853*^9, 
   3.743865423474392*^9},
 CellLabel->"In[1]:=",
 CellID->1806826735,ExpressionUUID->"53594131-3802-472e-a392-17467bd49dae"],

Cell[BoxData[
 RowBox[{"{", 
  RowBox[{
   RowBox[{"\<\"ChemicalFormula\"\>", 
    "\[Rule]", "\<\"\\!\\(\\*SubscriptBox[\\(C\\), \
\\(10\\)]\\)\\!\\(\\*SubscriptBox[\\(H\\), \\(10\\)]\\)Fe\"\>"}], ",", 
   RowBox[{"\<\"FormulaUnits\"\>", "\[Rule]", "2"}], ",", 
   RowBox[{"\<\"SpaceGroup\"\>", 
    "\[Rule]", "\<\"\\!\\(\\*SubscriptBox[\\(P2\\), \\(1\\)]\\)/n\"\>"}], ",", 
   RowBox[{"\<\"LatticeParameters\"\>", "\[Rule]", 
    RowBox[{"\[LeftAssociation]", 
     RowBox[{
      RowBox[{"\<\"a\"\>", "\[Rule]", 
       TemplateBox[{
        "5.9285`","\"\[CapitalARing]\"","\[ARing]ngstr\[ODoubleDot]ms",
         "\"Angstroms\""},
        "Quantity"]}], ",", 
      RowBox[{"\<\"b\"\>", "\[Rule]", 
       TemplateBox[{
        "7.612`","\"\[CapitalARing]\"","\[ARing]ngstr\[ODoubleDot]ms",
         "\"Angstroms\""},
        "Quantity"]}], ",", 
      RowBox[{"\<\"c\"\>", "\[Rule]", 
       TemplateBox[{
        "9.041`","\"\[CapitalARing]\"","\[ARing]ngstr\[ODoubleDot]ms",
         "\"Angstroms\""},
        "Quantity"]}], ",", 
      RowBox[{"\<\"\[Alpha]\"\>", "\[Rule]", 
       TemplateBox[{
        "90",RowBox[{"\[InvisibleSpace]", "\"\[Degree]\""}],"degrees",
         "\"AngularDegrees\""},
        "QuantityPostfix"]}], ",", 
      RowBox[{"\<\"\[Beta]\"\>", "\[Rule]", 
       TemplateBox[{
        "93.156`",RowBox[{"\[InvisibleSpace]", "\"\[Degree]\""}],"degrees",
         "\"AngularDegrees\""},
        "QuantityPostfix"]}], ",", 
      RowBox[{"\<\"\[Gamma]\"\>", "\[Rule]", 
       TemplateBox[{
        "90",RowBox[{"\[InvisibleSpace]", "\"\[Degree]\""}],"degrees",
         "\"AngularDegrees\""},
        "QuantityPostfix"]}]}], "\[RightAssociation]"}]}], ",", 
   RowBox[{"\<\"Wavelength\"\>", "\[Rule]", 
    TemplateBox[{
     "0.69804`","\"\[CapitalARing]\"","\[ARing]ngstr\[ODoubleDot]ms",
      "\"Angstroms\""},
     "Quantity"]}], ",", 
   RowBox[{"\<\"AtomData\"\>", "\[Rule]", 
    RowBox[{"{", 
     RowBox[{"\[LeftSkeleton]", "11", "\[RightSkeleton]"}], "}"}]}]}], 
  "}"}]], "Output",
 CellChangeTimes->{{3.712466468649921*^9, 3.712466477353273*^9}, 
   3.712467730147708*^9, 3.712469102088443*^9, 3.712469136447447*^9, 
   3.718442845524908*^9, 3.730402587078226*^9, 3.730487701712439*^9},
 CellLabel->"Out[2]=",
 CellID->1157432833,ExpressionUUID->"cc635101-3caa-4a1c-a2d9-45c272afea7e"]
}, Open  ]],

Cell["\<\
This example will illustrate how the space group symbol/name is chosen. In \
the 14th space group, there are 3 unique axes to choose from and 3 cell \
choices.\
\>", "ExampleText",
 CellChangeTimes->{{3.712466199048531*^9, 3.7124662049135923`*^9}, {
  3.712466371316805*^9, 3.712466373606765*^9}, {3.712466405187352*^9, 
  3.7124664565670147`*^9}},
 CellID->1568731754,ExpressionUUID->"3ef234ad-1d55-41bc-a1d2-e71d7768434a"],

Cell[BoxData[
 RowBox[{"Manipulate", "[", "\[IndentingNewLine]", 
  RowBox[{
   RowBox[{"UnitCellTransformation", "[", 
    RowBox[{"\"\<Ferrocene\>\"", ",", 
     RowBox[{"\"\<UniqueAxis\>\"", "\[Rule]", "a"}], ",", 
     RowBox[{"\"\<CellChoice\>\"", "\[Rule]", "c"}]}], "]"}], ",", 
   "\[IndentingNewLine]", 
   RowBox[{"Row", "[", 
    RowBox[{
     RowBox[{"{", "\[IndentingNewLine]", 
      RowBox[{
       RowBox[{"Control", "[", 
        RowBox[{"{", 
         RowBox[{
          RowBox[{"{", 
           RowBox[{"a", ",", "\"\<b\>\"", ",", "\"\<Unique axis\>\""}], "}"}],
           ",", 
          RowBox[{"{", 
           RowBox[{"\"\<a\>\"", ",", "\"\<b\>\"", ",", "\"\<c\>\""}], "}"}]}],
          "}"}], "]"}], ",", "\[IndentingNewLine]", 
       RowBox[{"Control", "[", 
        RowBox[{"{", 
         RowBox[{
          RowBox[{"{", 
           RowBox[{"c", ",", "2", ",", "\"\<Cell choice\>\""}], "}"}], ",", 
          RowBox[{"{", 
           RowBox[{"1", ",", "2", ",", "3"}], "}"}]}], "}"}], "]"}]}], 
      "\[IndentingNewLine]", "}"}], ",", 
     RowBox[{"Spacer", "[", "10", "]"}]}], "]"}]}], "]"}]], "Input",
 CellID->1215878290,ExpressionUUID->"7b4576eb-ca54-4be0-b20b-e408c847fb11"]
}, Open  ]],

Cell[BoxData[
 InterpretationBox[Cell[
  "Neat Examples", "ExampleSection",ExpressionUUID->
   "c8b9be97-e00b-410a-9b09-ac2eacbffd1a"],
  $Line = 0; Null]], "ExampleSection",
 CellID->589267740,ExpressionUUID->"4ec518ba-33bd-4df9-93f6-b514a95d1c06"],

Cell[CellGroupData[{

Cell[BoxData[
 InterpretationBox[Cell[TextData[{
   StyleBox["Mathematica",
    FontSlant->"Italic"],
   " code"
  }], "ExampleSection",ExpressionUUID->"eb3e5691-426d-411f-8e49-5ef1ca868903"],
  $Line = 0; Null]], "ExampleSection",
 CellChangeTimes->{{3.68570289103723*^9, 3.685702895606949*^9}},
 CellID->1098223308,ExpressionUUID->"5a842234-3a23-4795-8a97-8ef2fd7e6a9c"],

Cell[BoxData[{
 RowBox[{
  RowBox[{
   RowBox[{"UnitCellTransformation", "::", "command"}], "=", 
   "\"\<Transformation command \[LeftGuillemet]`1`\[RightGuillemet] not \
recognised.\>\""}], ";"}], "\[IndentingNewLine]", 
 RowBox[{
  RowBox[{
   RowBox[{"UnitCellTransformation", "::", "invalid"}], "=", 
   "\"\<The setting \[LeftGuillemet]`1`\[RightGuillemet] is invalid.\>\""}], 
  ";"}], "\[IndentingNewLine]", 
 RowBox[{
  RowBox[{
   RowBox[{"UnitCellTransformation", "::", "invalidSG"}], "=", 
   "\"\<The setting \[LeftGuillemet]`1`\[RightGuillemet] is invalid for this \
particular space group.\>\""}], ";"}], "\[IndentingNewLine]", 
 RowBox[{
  RowBox[{
   RowBox[{"UnitCellTransformation", "::", "na"}], "=", 
   "\"\<Input not applicable for the `1` system.\>\""}], 
  ";"}], "\[IndentingNewLine]", 
 RowBox[{
  RowBox[{
   RowBox[{"UnitCellTransformation", "::", "diffset"}], "=", 
   "\"\<Setting mismatch between source, `1`, and target, `2`.\>\""}], 
  ";"}], "\[IndentingNewLine]", 
 RowBox[{
  RowBox[{
   RowBox[{"UnitCellTransformation", "::", "sg"}], "=", 
   "\"\<Could not interpret \[LeftGuillemet]`1`\[RightGuillemet] as a space \
group symbol.\>\""}], ";"}], "\[IndentingNewLine]", 
 RowBox[{
  RowBox[{
   RowBox[{"UnitCellTransformation", "::", "differentsg"}], "=", 
   "\"\<The source space group, \[LeftGuillemet]`1`\[RightGuillemet] \
(no.`2`), and the target space group, \[LeftGuillemet]`3`\[RightGuillemet] \
(no. `4`), are not the same.\>\""}], ";"}], "\[IndentingNewLine]", 
 RowBox[{
  RowBox[{
   RowBox[{"UnitCellTransformation", "::", "support"}], "=", 
   "\"\<Transformation of the input is not supported.\>\""}], 
  ";"}], "\[IndentingNewLine]", 
 RowBox[{
  RowBox[{
   RowBox[{"UnitCellTransformation", "::", "target"}], "=", 
   "\"\<Could not determine target space group.\>\""}], 
  ";"}], "\[IndentingNewLine]", 
 RowBox[{
  RowBox[{
   RowBox[{
    RowBox[{"UnitCellTransformation", "::", "one"}], "=", 
    "\"\<This space group, \[LeftGuillemet]`1`\[RightGuillemet] (no. `2`), \
has no alternative representations.\>\""}], ";"}], 
  "\[IndentingNewLine]"}], "\[IndentingNewLine]", 
 RowBox[{
  RowBox[{
   RowBox[{"Options", "@", "UnitCellTransformation"}], "=", 
   RowBox[{"{", "\[IndentingNewLine]", 
    RowBox[{
     RowBox[{"\"\<ReturnP\>\"", "\[Rule]", "False"}], ",", 
     "\[IndentingNewLine]", 
     RowBox[{"\"\<CustomP\>\"", "\[Rule]", "False"}]}], "\[IndentingNewLine]",
     "}"}]}], ";"}]}], "Input",
 InitializationCell->False,
 CellChangeTimes->{{3.719819749369479*^9, 3.719819754436316*^9}, {
  3.719821718288604*^9, 3.719821721509223*^9}, {3.726153764130487*^9, 
  3.726153765873062*^9}, {3.756718324721581*^9, 3.756718347237896*^9}, {
  3.75671840599605*^9, 3.756718427251422*^9}, {3.756718478824583*^9, 
  3.756718621292338*^9}, {3.756719109075198*^9, 3.756719187154882*^9}, {
  3.756719485390335*^9, 3.756719569354444*^9}, {3.7567196451848793`*^9, 
  3.756719688894866*^9}, {3.7567200659782133`*^9, 3.756720107115233*^9}, {
  3.756720140266678*^9, 3.756720140393688*^9}, {3.756720286306657*^9, 
  3.7567203169908*^9}, {3.756720417369433*^9, 3.756720522664116*^9}, {
  3.756720574367663*^9, 3.756720608133807*^9}, {3.7567206506537733`*^9, 
  3.7567206691053762`*^9}, {3.756720777871066*^9, 3.75672077866041*^9}, {
  3.756721056190452*^9, 3.756721056574387*^9}},
 CellLabel->"In[921]:=",
 CellID->763079119,ExpressionUUID->"3f78c572-f469-4160-bc57-75cac4d34f56"],

Cell[BoxData[
 RowBox[{
  RowBox[{"UnitCellTransformation", "[", 
   RowBox[{"crystal_String", ",", "userinput___"}], "]"}], ":=", 
  "\[IndentingNewLine]", 
  RowBox[{"Block", "[", 
   RowBox[{
    RowBox[{"{", "\[IndentingNewLine]", 
     RowBox[{"(*", 
      RowBox[{
       RowBox[{"--", "-"}], "*", " ", "1.", " ", "Input", " ", "check", " ", 
       "and", " ", "preparation", " ", "*", 
       RowBox[{"--", "-"}]}], "*)"}], "\[IndentingNewLine]", 
     RowBox[{"(*", " ", 
      RowBox[{
       RowBox[{"1.", 
        RowBox[{"A", ".", " ", "Load"}], " ", "crystal", " ", "metric"}], ",",
        " ", 
       RowBox[{
       "space", " ", "group", " ", "and", " ", "crystal", " ", "system"}]}], 
      " ", "*)"}], "\[IndentingNewLine]", 
     RowBox[{
     "G", ",", "G0", ",", "sg", ",", "sg0", ",", "sourceSG", ",", "fullHM", 
      ",", "posSG", ",", "SG", ",", "fullHMs", ",", "sourceSGnumber", ",", 
      "system", ",", "mainSourceQ", ",", "\[IndentingNewLine]", "P", ",", 
      "P1", ",", "P2", ",", "p", ",", "\[IndentingNewLine]", "centList", ",", 
      "axpList", ",", "tetList", ",", "hex3List", ",", "hexList", ",", 
      "monoList", ",", "\[IndentingNewLine]", "sourceSetting", ",", 
      "targetSetting", ",", "\[IndentingNewLine]", 
      RowBox[{"(*", " ", 
       RowBox[{"1.", 
        RowBox[{"B", ".", " ", "Process"}], " ", "input", " ", "syntax", " ", 
        "and", " ", "options"}], " ", "*)"}], "\[IndentingNewLine]", 
      "inputRules", ",", "inputString", ",", "returnP", ",", "customP", ",", 
      "\[IndentingNewLine]", 
      RowBox[{"(*", " ", 
       RowBox[{"1.", 
        RowBox[{"C", ".", " ", "Interpret"}], " ", "space", " ", "group", " ",
         "from", " ", "input"}], " ", "*)"}], "\[IndentingNewLine]", 
      "targetSG", ",", "needtargetSG", ",", "\[IndentingNewLine]", 
      RowBox[{"(*", " ", 
       RowBox[{"1.", "D", " ", "Process", " ", "source", " ", "setting"}], 
       " ", "*)"}], "\[IndentingNewLine]", "sourceCentring", ",", 
      "sourceCell", ",", "notes", ",", "relevantNotes", ",", "sourceO", ",", 
      "\[IndentingNewLine]", 
      RowBox[{"(*", " ", 
       RowBox[{"1.", "E", " ", "Process", " ", "target", " ", "setting"}], 
       " ", "*)"}], "\[IndentingNewLine]", "allowed", ",", "cmds", ",", "na", 
      ",", "\[IndentingNewLine]", 
      RowBox[{"(*", " ", 
       RowBox[{"1.", 
        RowBox[{"F", ".", " ", "Validating"}], " ", "input", " ", "values"}], 
       " ", "*)"}], "\[IndentingNewLine]", "targetCentring", ",", 
      "targetAxis", ",", "targetCC", ",", "targetAP", ",", "targetCell", ",", 
      "targetRS", ",", "\[IndentingNewLine]", "targetO", ",", 
      "\[IndentingNewLine]", 
      RowBox[{"(*", " ", 
       RowBox[{"1.", 
        RowBox[{"G", ".", " ", "Check"}], " ", "setting", " ", "constraints", 
        " ", "on", " ", "certain", " ", "space", " ", "groups"}], " ", "*)"}],
       "\[IndentingNewLine]", 
      RowBox[{"(*", " ", 
       RowBox[{"1.", 
        RowBox[{"H", ".", " ", "Determining"}], " ", "new", " ", "space", " ",
         "group", " ", "symbol"}], " ", "*)"}], "\[IndentingNewLine]", 
      "targetSGnumber", ",", "\[IndentingNewLine]", 
      RowBox[{"(*", " ", 
       RowBox[{"1.", 
        RowBox[{"I", ".", " ", "Common"}], " ", "transformation", " ", 
        "procedures"}], " ", "*)"}], "\[IndentingNewLine]", 
      "procedureCellCentring", ",", "procedureCellOrigin", ",", "shift", ",", 
      "\[IndentingNewLine]", 
      RowBox[{"(*", 
       RowBox[{
        RowBox[{"--", "-"}], "*", " ", "2.", " ", "Determining", " ", 
        "correct", " ", "transformation", " ", "matrices", " ", "*", 
        RowBox[{"--", "-"}]}], "*)"}], "\[IndentingNewLine]", 
      RowBox[{"(*", " ", 
       RowBox[{"2.", 
        RowBox[{"A", ".", " ", "Triclinic"}]}], " ", "*)"}], 
      "\[IndentingNewLine]", 
      RowBox[{"(*", " ", 
       RowBox[{"2.", 
        RowBox[{"B", ".", " ", "Monoclinic"}]}], " ", "*)"}], 
      "\[IndentingNewLine]", "cmd", ",", "Q", ",", "\[IndentingNewLine]", 
      RowBox[{"(*", " ", 
       RowBox[{"2.", 
        RowBox[{"C", ".", " ", "Orthorhombic"}]}], " ", "*)"}], 
      "\[IndentingNewLine]", 
      RowBox[{"(*", " ", 
       RowBox[{"2.", 
        RowBox[{"D", ".", " ", "Tetragonal"}]}], " ", "*)"}], 
      "\[IndentingNewLine]", 
      RowBox[{"(*", " ", 
       RowBox[{"2.", 
        RowBox[{"E", ".", " ", "Hexagonal"}], " ", "crystal", " ", "family"}],
        " ", "*)"}], "\[IndentingNewLine]", "sourceRS", ",", "M", ",", 
      "\[IndentingNewLine]", 
      RowBox[{"(*", " ", 
       RowBox[{"2.", 
        RowBox[{"F", ".", " ", "Cubic"}]}], " ", "*)"}], 
      "\[IndentingNewLine]", 
      RowBox[{"(*", 
       RowBox[{
        RowBox[{"--", "-"}], "*", " ", "3.", " ", "Carrying", " ", "out", " ",
         "transformations", " ", "*", 
        RowBox[{"--", "-"}]}], "*)"}], "\[IndentingNewLine]", 
      RowBox[{"(*", " ", 
       RowBox[{"3.", 
        RowBox[{"A", ".", " ", "Preparations"}]}], " ", "*)"}], 
      "\[IndentingNewLine]", "q", ",", "newlattice", ",", 
      "\[IndentingNewLine]", 
      RowBox[{"(*", " ", 
       RowBox[{"3.", 
        RowBox[{"B", ".", " ", "Transforming"}], " ", "coordinates", " ", 
        "and", " ", "ADPs"}], " ", "*)"}], "\[IndentingNewLine]", "xyz", ",", 
      "newxyz", ",", "adps", ",", "U", ",", "n0", ",", "n", ",", "newU", ",", 
      "u", ",", "\[IndentingNewLine]", 
      RowBox[{"(*", 
       RowBox[{
        RowBox[{"--", "-"}], "*", " ", "4.", " ", "Overwriting", " ", "entry",
         " ", "in", " ", "$CrystalData", " ", "*", 
        RowBox[{"--", "-"}]}], "*)"}], "\[IndentingNewLine]", "targetFullHM", 
      ",", "\[IndentingNewLine]", 
      RowBox[{"(*", 
       RowBox[{
        RowBox[{"--", "-"}], "*", " ", "5.", " ", "Display", " ", "*", 
        RowBox[{"--", "-"}]}], "*)"}], "\[IndentingNewLine]", 
      "\[IndentingNewLine]", 
      RowBox[{"(*", " ", 
       RowBox[{"Dummy", " ", "variables"}], " ", "*)"}], 
      "\[IndentingNewLine]", "temp", ",", "x", ",", "y", ",", "i"}], "}"}], 
    ",", "\[IndentingNewLine]", "\[IndentingNewLine]", 
    RowBox[{"(*", 
     RowBox[{
      RowBox[{"--", "-"}], "*", " ", "1.", " ", "Input", " ", "check", " ", 
      "and", " ", "preparation", " ", "*", 
      RowBox[{"--", "-"}]}], "*)"}], "\[IndentingNewLine]", 
    RowBox[{"(*", " ", 
     RowBox[{
      RowBox[{"1.", 
       RowBox[{"A", ".", " ", "Load"}], " ", "crystal", " ", "metric"}], ",", 
      " ", 
      RowBox[{
      "space", " ", "group", " ", "and", " ", "crystal", " ", "system"}]}], 
     " ", "*)"}], "\[IndentingNewLine]", "\t", 
    RowBox[{
     RowBox[{"InputCheck", "[", 
      RowBox[{"\"\<GetCrystalSpaceGroup\>\"", ",", "crystal"}], "]"}], ";", 
     "\[IndentingNewLine]", "\t", 
     RowBox[{"G", "=", 
      RowBox[{"G0", "=", 
       RowBox[{"GetCrystalMetric", "@", "crystal"}]}]}], ";", 
     "\[IndentingNewLine]", "\t", 
     RowBox[{"sg", "=", 
      RowBox[{"sg0", "=", 
       RowBox[{"$CrystalData", "[", 
        RowBox[{"crystal", ",", "\"\<SpaceGroup\>\""}], "]"}]}]}], ";", 
     "\[IndentingNewLine]", "\t", 
     RowBox[{"sg", "=", 
      RowBox[{"$GroupSymbolRedirect", "[", "sg", "]"}]}], ";", 
     "\[IndentingNewLine]", "\t", 
     RowBox[{"sourceSG", "=", 
      RowBox[{"fullHM", "=", 
       RowBox[{"sg", "[", 
        RowBox[{"\"\<Name\>\"", ",", "\"\<HermannMauguinFull\>\""}], 
        "]"}]}]}], ";", "\[IndentingNewLine]", "\t", 
     RowBox[{"posSG", "=", 
      RowBox[{"Position", "[", 
       RowBox[{"$SpaceGroups", ",", "fullHM"}], "]"}]}], ";", 
     "\[IndentingNewLine]", "\t", 
     RowBox[{"SG", "=", 
      RowBox[{"$SpaceGroups", "[", 
       RowBox[{"posSG", "\[LeftDoubleBracket]", 
        RowBox[{"1", ",", "1", ",", "1"}], "\[RightDoubleBracket]"}], "]"}]}],
      ";", "\[IndentingNewLine]", "\t", 
     RowBox[{"fullHMs", "=", 
      RowBox[{"SG", "[", 
       RowBox[{"\"\<Name\>\"", ",", "\"\<HermannMauguinFull\>\""}], "]"}]}], 
     ";", "\[IndentingNewLine]", "\t", 
     RowBox[{"sourceSGnumber", "=", 
      RowBox[{"SG", "[", "\"\<SpaceGroupNumber\>\"", "]"}]}], ";", 
     "\[IndentingNewLine]", "\t", 
     RowBox[{"system", "=", 
      RowBox[{"SG", "[", "\"\<CrystalSystem\>\"", "]"}]}], ";", 
     "\[IndentingNewLine]", "\t", 
     RowBox[{"mainSourceQ", "=", 
      RowBox[{
       RowBox[{"Length", "@", 
        RowBox[{"First", "@", "posSG"}]}], "\[LessEqual]", "3"}]}], ";", 
     "\[IndentingNewLine]", "\[IndentingNewLine]", "\t", 
     RowBox[{"(*", " ", 
      RowBox[{
      "Default", " ", "transformation", " ", "matrices", " ", "and", " ", 
       "origin", " ", "shift"}], " ", "*)"}], "\[IndentingNewLine]", "\t", 
     RowBox[{"P", "=", 
      RowBox[{"P1", "=", 
       RowBox[{"P2", "=", 
        RowBox[{"IdentityMatrix", "[", "3", "]"}]}]}]}], ";", 
     "\[IndentingNewLine]", "\t", 
     RowBox[{"p", "=", 
      RowBox[{"{", 
       RowBox[{"0", ",", "0", ",", "0"}], "}"}]}], ";", "\[IndentingNewLine]",
      "\[IndentingNewLine]", "\t", 
     RowBox[{"(*", " ", 
      RowBox[{"Frequently", " ", "used", " ", "lists"}], " ", "*)"}], 
     "\[IndentingNewLine]", "\t", 
     RowBox[{"centList", "=", 
      RowBox[{"{", "\[IndentingNewLine]", "\t", 
       RowBox[{
       "\"\<P\>\"", ",", "\"\<A\>\"", ",", "\"\<B\>\"", ",", "\"\<C\>\"", 
        ",", "\"\<F\>\"", ",", "\"\<I\>\""}], "}"}]}], ";", 
     "\[IndentingNewLine]", "\t", 
     RowBox[{"axpList", "=", 
      RowBox[{"{", "\[IndentingNewLine]", "\t", 
       RowBox[{
       "\"\<abc\>\"", ",", "\"\<ba-c\>\"", ",", "\"\<cab\>\"", ",", 
        "\"\<-cba\>\"", ",", "\"\<bca\>\"", ",", "\"\<a-cb\>\""}], "}"}]}], 
     ";", "\[IndentingNewLine]", "\t", 
     RowBox[{"tetList", "=", 
      RowBox[{"{", "\[IndentingNewLine]", "\t", 
       RowBox[{
       "\"\<P\>\"", ",", "\"\<I\>\"", ",", "\"\<C1\>\"", ",", "\"\<F1\>\"", 
        ",", "\"\<C2\>\"", ",", "\"\<F2\>\""}], "}"}]}], ";", 
     "\[IndentingNewLine]", "\t", 
     RowBox[{"hex3List", "=", 
      RowBox[{"{", "\[IndentingNewLine]", "\t", 
       RowBox[{"\"\<R1\>\"", ",", "\"\<R2\>\"", ",", "\"\<R3\>\""}], "}"}]}], 
     ";", "\[IndentingNewLine]", "\t", 
     RowBox[{"hexList", "=", 
      RowBox[{"{", "\[IndentingNewLine]", "\t", 
       RowBox[{
       "\"\<C1\>\"", ",", "\"\<C2\>\"", ",", "\"\<C3\>\"", ",", "\"\<H1\>\"", 
        ",", "\"\<H2\>\"", ",", "\"\<H3\>\"", ",", "\"\<D1\>\"", ",", 
        "\"\<D2\>\""}], "}"}]}], ";", "\[IndentingNewLine]", "\t", 
     RowBox[{"monoList", "=", 
      RowBox[{"{", "\[IndentingNewLine]", "\t", 
       RowBox[{
       "\"\<Cb1\>\"", ",", "\"\<Cb2\>\"", ",", "\"\<Cb3\>\"", ",", 
        "\"\<Ac1\>\"", ",", "\"\<Ac2\>\"", ",", "\"\<Ac3\>\""}], "}"}]}], ";",
      "\[IndentingNewLine]", "\[IndentingNewLine]", "\t", 
     RowBox[{"(*", " ", "Miscellaneous", " ", "*)"}], "\[IndentingNewLine]", 
     "\t", 
     RowBox[{"sourceSetting", "=", 
      RowBox[{"targetSetting", "=", 
       RowBox[{"<|", "|>"}]}]}], ";", "\[IndentingNewLine]", 
     "\[IndentingNewLine]", 
     RowBox[{"(*", " ", 
      RowBox[{"1.", 
       RowBox[{"B", ".", " ", "Process"}], " ", "input", " ", "syntax", " ", 
       "and", " ", "options"}], " ", "*)"}], "\[IndentingNewLine]", "\t", 
     RowBox[{"inputRules", "=", 
      RowBox[{"Association", "@", 
       RowBox[{"Cases", "[", 
        RowBox[{
         RowBox[{"{", "userinput", "}"}], ",", "_Rule"}], "]"}]}]}], ";", 
     "\[IndentingNewLine]", "\t", 
     RowBox[{"inputString", "=", 
      RowBox[{"Cases", "[", 
       RowBox[{
        RowBox[{"{", "userinput", "}"}], ",", "_String"}], "]"}]}], ";", 
     "\[IndentingNewLine]", "\t\t", 
     RowBox[{"(*", " ", "Check", " ", "*)"}], "\[IndentingNewLine]", "\t\t", 
     RowBox[{
      RowBox[{
       RowBox[{"Which", "[", "\[IndentingNewLine]", "\t\t", 
        RowBox[{
         RowBox[{"#", "===", "0"}], ",", "Null", ",", "\[IndentingNewLine]", 
         "\t\t", 
         RowBox[{"#", "===", "1"}], ",", 
         RowBox[{"inputString", "=", 
          RowBox[{"First", "@", "inputString"}]}], ",", "\[IndentingNewLine]",
          "\t\t", "True", ",", "\[IndentingNewLine]", "\t\t\t", 
         RowBox[{
          RowBox[{"Message", "[", 
           RowBox[{
            RowBox[{"UnitCellTransformation", "::", "invalid"}], ",", 
            "inputString"}], "]"}], ";", "\[IndentingNewLine]", "\t\t\t", 
          RowBox[{"Abort", "[", "]"}]}]}], "\[IndentingNewLine]", "\t\t", 
        "]"}], "&"}], "@", 
      RowBox[{"Length", "@", "inputString"}]}], ";", "\[IndentingNewLine]", 
     "\[IndentingNewLine]", "\t", 
     RowBox[{"(*", " ", 
      RowBox[{"Save", " ", "option", " ", "settings"}], " ", "*)"}], 
     "\[IndentingNewLine]", "\t", 
     RowBox[{"returnP", "=", 
      RowBox[{"inputRules", "[", "\"\<ReturnP\>\"", "]"}]}], ";", 
     "\[IndentingNewLine]", "\t", 
     RowBox[{"customP", "=", 
      RowBox[{"Lookup", "[", 
       RowBox[{"inputRules", ",", "\"\<CustomP\>\"", ",", 
        RowBox[{"{", "}"}]}], "]"}]}], ";", "\[IndentingNewLine]", 
     "\[IndentingNewLine]", "\t", 
     RowBox[{"(*", " ", 
      RowBox[{
      "Remove", " ", "options", " ", "from", " ", "other", " ", "settings"}], 
      " ", "*)"}], "\[IndentingNewLine]", "\t", 
     RowBox[{"KeyDropFrom", "[", 
      RowBox[{"inputRules", ",", "\[IndentingNewLine]", "\t", 
       RowBox[{"{", 
        RowBox[{
        "\"\<ReturnP\>\"", ",", "\"\<CustomP\>\"", ",", 
         "\"\<CustomSymbol\>\""}], "}"}]}], "]"}], ";", "\[IndentingNewLine]",
      "\[IndentingNewLine]", 
     RowBox[{"(*", " ", 
      RowBox[{"1.", 
       RowBox[{"C", ".", " ", "Interpret"}], " ", "space", " ", "group", " ", 
       "from", " ", "input"}], " ", "*)"}], "\[IndentingNewLine]", "\t", 
     RowBox[{"(*", " ", 
      RowBox[{
       RowBox[{"i", ".", " ", "No"}], " ", "input", " ", 
       RowBox[{"commands", " ", "--"}], " ", "prompt", " ", 
       RowBox[{"dialogue", "/", "UI"}], " ", 
       RowBox[{"(", "TODO", ")"}]}], " ", "*)"}], "\[IndentingNewLine]", "\t",
      "\[IndentingNewLine]", "\t", 
     RowBox[{"(*", " ", 
      RowBox[{
       RowBox[{"ii", ".", " ", "Custom"}], " ", "transformation", " ", 
       "matrix"}], " ", "*)"}], "\[IndentingNewLine]", "\t", 
     RowBox[{"If", "[", 
      RowBox[{
       RowBox[{"customP", "=!=", 
        RowBox[{"{", "}"}]}], ",", 
       RowBox[{
        RowBox[{"P1", "=", "customP"}], ";", "\[IndentingNewLine]", "\t", 
        RowBox[{"If", "[", 
         RowBox[{
          RowBox[{"!", 
           RowBox[{"MatrixQ", "@", "P1"}]}], ",", 
          RowBox[{"(*", " ", "Check", " ", "*)"}], "\[IndentingNewLine]", 
          "\t", 
          RowBox[{
           RowBox[{"Message", "[", 
            RowBox[{
             RowBox[{"UnitCellTransformation", "::", "invalid"}], ",", "P1"}],
             "]"}], ";", 
           RowBox[{"Abort", "[", "]"}]}]}], "]"}], ";", "\[IndentingNewLine]",
         "\t", 
        RowBox[{"targetSG", "=", "sourceSG"}], 
        RowBox[{"(*", " ", 
         RowBox[{"Use", " ", "same", " ", "space", " ", "group"}], " ", 
         "*)"}], ";", "\[IndentingNewLine]", "\t", 
        RowBox[{"Goto", "[", "\"\<MetricTransformation\>\"", "]"}]}]}], "]"}],
      ";", "\[IndentingNewLine]", "\[IndentingNewLine]", "\t", 
     RowBox[{"(*", " ", 
      RowBox[{
       RowBox[{"iii", ".", " ", "Interpret"}], " ", "string", " ", "as", " ", 
       "target", " ", "space", " ", "group"}], " ", "*)"}], 
     "\[IndentingNewLine]", "\t", 
     RowBox[{"If", "[", 
      RowBox[{
       RowBox[{"inputString", "=!=", 
        RowBox[{"{", "}"}]}], ",", "\[IndentingNewLine]", 
       "\[IndentingNewLine]", "\t\t", 
       RowBox[{"(*", " ", 
        RowBox[{
        "Check", " ", "if", " ", "valid", " ", "space", " ", "group", " ", 
         "symbol"}], " ", "*)"}], "\[IndentingNewLine]", "\t\t", 
       RowBox[{
        RowBox[{"If", "[", 
         RowBox[{
          RowBox[{"MissingQ", "@", 
           RowBox[{"$GroupSymbolRedirect", "[", "inputString", "]"}]}], ",", 
          "\[IndentingNewLine]", "\t\t", 
          RowBox[{
           RowBox[{"Message", "[", 
            RowBox[{
             RowBox[{"UnitCellTransformation", "::", "sg"}], ",", 
             "inputString"}], "]"}], ";", "\[IndentingNewLine]", "\t\t", 
           RowBox[{"Abort", "[", "]"}]}]}], "]"}], ";", "\[IndentingNewLine]",
         "\[IndentingNewLine]", "\t\t", 
        RowBox[{"targetSG", "=", "inputString"}]}]}], "]"}], ";", 
     "\[IndentingNewLine]", "\[IndentingNewLine]", "\t", 
     RowBox[{"(*", " ", 
      RowBox[{
       RowBox[{"iv", ".", " ", "Parse"}], " ", "input", " ", "as", " ", 
       "setting", " ", "commands"}], " ", "*)"}], "\[IndentingNewLine]", "\t", 
     RowBox[{"If", "[", 
      RowBox[{
       RowBox[{"inputRules", "=!=", 
        RowBox[{"<|", "|>"}]}], ",", "\[IndentingNewLine]", "\t", 
       RowBox[{"needtargetSG", "=", "True"}], ",", "\[IndentingNewLine]", 
       "\t\t", 
       RowBox[{"(*", " ", 
        RowBox[{
        "Check", " ", "whether", " ", "Hall", " ", "symbol", " ", "has", " ", 
         "been", " ", "used"}], " ", "*)"}], "\[IndentingNewLine]", "\t\t", 
       RowBox[{
        RowBox[{"temp", "=", 
         RowBox[{"Position", "[", 
          RowBox[{"$SpaceGroups", ",", "targetSG"}], "]"}]}], ";", 
        "\[IndentingNewLine]", "\t\t", 
        RowBox[{"If", "[", 
         RowBox[{
          RowBox[{"temp", "\[NotEqual]", 
           RowBox[{"{", "}"}]}], ",", "\[IndentingNewLine]", "\t\t", 
          RowBox[{"If", "[", 
           RowBox[{
            RowBox[{
             RowBox[{"temp", "\[LeftDoubleBracket]", 
              RowBox[{"1", ",", 
               RowBox[{"-", "1"}], ",", "1"}], "\[RightDoubleBracket]"}], 
             "===", "\"\<HallString\>\""}], ",", "\[IndentingNewLine]", 
            "\t\t", 
            RowBox[{"targetSG", "=", 
             RowBox[{
              RowBox[{"First", "[", 
               RowBox[{"$SpaceGroups", "@@@", "\[IndentingNewLine]", "\t\t", 
                RowBox[{"Most", "@", 
                 RowBox[{"First", "@", "temp"}]}]}], "]"}], "[", 
              RowBox[{"\"\<Name\>\"", ",", "\"\<Symbol\>\""}], "]"}]}]}], 
           "]"}]}], "]"}]}]}], "\[IndentingNewLine]", "\t", "]"}], ";", 
     "\[IndentingNewLine]", "\[IndentingNewLine]", 
     RowBox[{"(*", " ", 
      RowBox[{"1.", "D", " ", "Process", " ", "source", " ", "setting"}], " ",
       "*)"}], "\[IndentingNewLine]", "\t", 
     RowBox[{"(*", " ", 
      RowBox[{
       RowBox[{"i", ".", " ", "Load"}], " ", "source", " ", "setting", " ", 
       "from", " ", "source", " ", "space", " ", "group"}], " ", "*)"}], 
     "\[IndentingNewLine]", "\t", 
     RowBox[{"sourceSetting", "=", 
      RowBox[{
       RowBox[{"$GroupSymbolRedirect", "[", "sourceSG", "]"}], "[", 
       "\"\<Setting\>\"", "]"}]}], ";", "\[IndentingNewLine]", 
     "\[IndentingNewLine]", "\t", 
     RowBox[{"(*", " ", 
      RowBox[{
       RowBox[{"ii", ".", " ", "Check"}], " ", "if", " ", "space", " ", 
       "group", " ", "has", " ", "alternative", " ", "settings"}], " ", 
      "*)"}], "\[IndentingNewLine]", "\t", 
     RowBox[{"If", "[", 
      RowBox[{
       RowBox[{
        RowBox[{"sourceSetting", "===", 
         RowBox[{"<|", "|>"}]}], "&&", "\[IndentingNewLine]", "\t", 
        RowBox[{"(*", " ", 
         RowBox[{"Exception", ":", " ", 
          RowBox[{"Special", " ", "multiple", " ", "cells"}]}], " ", "*)"}], 
        "\[IndentingNewLine]", "\t", 
        RowBox[{"!", 
         RowBox[{"MemberQ", "[", 
          RowBox[{
           RowBox[{"{", 
            RowBox[{"\"\<Tetragonal\>\"", ",", "\"\<Hexagonal\>\""}], "}"}], 
           ",", "system"}], "]"}]}]}], ",", "\[IndentingNewLine]", "\t\t", 
       RowBox[{
        RowBox[{"Message", "[", 
         RowBox[{
          RowBox[{"UnitCellTransformation", "::", "one"}], ",", 
          "\[IndentingNewLine]", "\t\t", 
          RowBox[{"GetSymmetryData", "[", 
           RowBox[{"sourceSG", ",", "\"\<Symbol\>\""}], "]"}], ",", 
          "\[IndentingNewLine]", "\t\t", "sourceSGnumber"}], "]"}], ";", 
        "\[IndentingNewLine]", "\t\t", 
        RowBox[{"Abort", "[", "]"}]}]}], "]"}], ";", "\[IndentingNewLine]", 
     "\[IndentingNewLine]", "\t", 
     RowBox[{"(*", " ", 
      RowBox[{
       RowBox[{"iii", ".", " ", "Check"}], " ", "cell", " ", "origin", " ", 
       "from", " ", "symbol"}], " ", "*)"}], "\[IndentingNewLine]", "\t", 
     RowBox[{"temp", "=", 
      RowBox[{"StringTake", "[", 
       RowBox[{"sg0", ",", 
        RowBox[{"-", "2"}]}], "]"}]}], ";", "\[IndentingNewLine]", "\t", 
     RowBox[{"Which", "[", "\[IndentingNewLine]", "\t", 
      RowBox[{
       RowBox[{"temp", "===", "\"\<:2\>\""}], ",", 
       RowBox[{"AppendTo", "[", 
        RowBox[{"sourceSetting", ",", 
         RowBox[{"\"\<CellOrigin\>\"", "\[Rule]", "2"}]}], "]"}]}], 
      "\[IndentingNewLine]", "\t", "]"}], ";", "\[IndentingNewLine]", 
     "\[IndentingNewLine]", "\t", 
     RowBox[{"(*", " ", 
      RowBox[{
       RowBox[{"iv", ".", " ", 
        RowBox[{"Checking", " ", "'"}]}], 
       RowBox[{"Notes", "'"}], " ", "for", " ", "info", " ", "on", " ", 
       "input", " ", "setting"}], " ", "*)"}], "\[IndentingNewLine]", "\t", 
     RowBox[{"notes", "=", 
      RowBox[{"Lookup", "[", 
       RowBox[{
        RowBox[{"$CrystalData", "@", "crystal"}], ",", "\"\<Notes\>\"", ",", 
        RowBox[{"<|", "|>"}]}], "]"}]}], ";", "\[IndentingNewLine]", "\t", 
     RowBox[{"relevantNotes", "=", 
      RowBox[{"notes", "\[LeftDoubleBracket]", 
       RowBox[{"{", "\[IndentingNewLine]", "\t", 
        RowBox[{
        "\"\<RhombohedralSetting\>\"", ",", "\"\<MultipleCell\>\"", ",", 
         "\"\<CellCentring\>\"", ",", "\"\<CellOrigin\>\""}], "}"}], 
       "\[RightDoubleBracket]"}]}], ";", "\[IndentingNewLine]", "\t", 
     RowBox[{
      RowBox[{"{", 
       RowBox[{
       "sourceRS", ",", "sourceCell", ",", "sourceCentring", ",", "sourceO"}],
        "}"}], "=", 
      RowBox[{"Values", "@", "relevantNotes"}]}], ";", "\[IndentingNewLine]", 
     "\t", 
     RowBox[{"AppendTo", "[", 
      RowBox[{"sourceSetting", ",", 
       RowBox[{"DeleteMissing", "@", "relevantNotes"}]}], "]"}], ";", 
     "\[IndentingNewLine]", "\[IndentingNewLine]", 
     RowBox[{"(*", " ", 
      RowBox[{"1.", "E", " ", "Process", " ", "target", " ", "setting"}], " ",
       "*)"}], "\[IndentingNewLine]", "\t", 
     RowBox[{"If", "[", 
      RowBox[{
       RowBox[{"inputRules", "=!=", 
        RowBox[{"<|", "|>"}]}], ",", "\[IndentingNewLine]", "\t", 
       RowBox[{"(*", " ", 
        RowBox[{
         RowBox[{"a", ".", " ", "Setting"}], " ", "commands", " ", "given", 
         " ", "in", " ", "association"}], " ", "*)"}], "\[IndentingNewLine]", 
       "\t\t", 
       RowBox[{
        RowBox[{"targetSetting", "=", "inputRules"}], ";", 
        "\[IndentingNewLine]", "\[IndentingNewLine]", "\t\t\t", 
        RowBox[{"(*", " ", 
         RowBox[{"Checking", " ", "commands"}], " ", "*)"}], 
        "\[IndentingNewLine]", "\t\t\t", 
        RowBox[{"allowed", "=", 
         RowBox[{"{", "\[IndentingNewLine]", "\t\t\t", 
          RowBox[{
          "\"\<UniqueAxis\>\"", ",", "\"\<CellChoice\>\"", ",", 
           "\"\<AxisPermutation\>\"", ",", "\[IndentingNewLine]", "\t\t\t", 
           "\"\<CellCentring\>\"", ",", "\"\<MultipleCell\>\"", ",", 
           "\[IndentingNewLine]", "\t\t\t", "\"\<RhombohedralSetting\>\"", 
           ",", "\"\<CellOrigin\>\""}], "}"}]}], ";", "\[IndentingNewLine]", 
        "\t\t\t", 
        RowBox[{"cmds", "=", 
         RowBox[{"Keys", "@", "targetSetting"}]}], ";", "\[IndentingNewLine]",
         "\t\t\t", 
        RowBox[{"na", "=", 
         RowBox[{"Complement", "[", 
          RowBox[{"cmds", ",", "allowed"}], "]"}]}], ";", 
        "\[IndentingNewLine]", "\t\t\t\t", 
        RowBox[{"If", "[", 
         RowBox[{
          RowBox[{"na", "\[NotEqual]", 
           RowBox[{"{", "}"}]}], ",", "\[IndentingNewLine]", "\t\t\t\t", 
          RowBox[{
           RowBox[{"Message", "[", 
            RowBox[{
             RowBox[{"UnitCellTransformation", "::", "command"}], ",", 
             RowBox[{"First", "@", "na"}]}], "]"}], ";", 
           "\[IndentingNewLine]", "\t\t\t\t", 
           RowBox[{"Abort", "[", "]"}]}]}], "]"}], ";", "\[IndentingNewLine]",
         "\[IndentingNewLine]", "\t\t\t", 
        RowBox[{"(*", " ", 
         RowBox[{"Checking", " ", "usefullness", " ", "of", " ", "commands"}],
          " ", "*)"}], "\[IndentingNewLine]", "\t\t\t", 
        RowBox[{"temp", "=", 
         RowBox[{"Which", "[", "\[IndentingNewLine]", "\t\t\t", 
          RowBox[{
           RowBox[{"system", "===", "\"\<Triclinic\>\""}], ",", 
           "\[IndentingNewLine]", "\t\t\t\t", 
           RowBox[{"{", "\"\<CellCentring\>\"", "}"}], ",", 
           "\[IndentingNewLine]", "\t\t\t", 
           RowBox[{"system", "===", "\"\<Monoclinic\>\""}], ",", 
           "\[IndentingNewLine]", "\t\t\t\t", 
           RowBox[{"{", 
            RowBox[{"\"\<UniqueAxis\>\"", ",", "\"\<CellChoice\>\""}], "}"}], 
           ",", "\[IndentingNewLine]", "\t\t\t", 
           RowBox[{"system", "===", "\"\<Orthorhombic\>\""}], ",", 
           "\[IndentingNewLine]", "\t\t\t\t", 
           RowBox[{"{", 
            RowBox[{
            "\"\<AxisPermutation\>\"", ",", "\"\<CellCentring\>\"", ",", 
             "\"\<CellOrigin\>\""}], "}"}], ",", "\[IndentingNewLine]", 
           "\t\t\t", 
           RowBox[{"system", "===", "\"\<Tetragonal\>\""}], ",", 
           "\[IndentingNewLine]", "\t\t\t\t", 
           RowBox[{"{", 
            RowBox[{
            "\"\<CellCentring\>\"", ",", "\"\<MultipleCell\>\"", ",", 
             "\"\<CellOrigin\>\""}], "}"}], ",", "\[IndentingNewLine]", 
           "\t\t\t", 
           RowBox[{"system", "===", "\"\<Trigonal\>\""}], ",", 
           "\[IndentingNewLine]", "\t\t\t\t", 
           RowBox[{"{", 
            RowBox[{
            "\"\<MultipleCell\>\"", ",", "\"\<RhombohedralSetting\>\""}], 
            "}"}], ",", "\[IndentingNewLine]", "\t\t\t", 
           RowBox[{"system", "===", "\"\<Hexagonal\>\""}], ",", 
           "\[IndentingNewLine]", "\t\t\t\t", 
           RowBox[{"{", "\"\<MultipleCell\>\"", "}"}], ",", 
           "\[IndentingNewLine]", "\t\t\t", 
           RowBox[{"system", "===", "\"\<Cubic\>\""}], ",", 
           "\[IndentingNewLine]", "\t\t\t\t", 
           RowBox[{"{", 
            RowBox[{"\"\<CellCentring\>\"", ",", "\"\<CellOrigin\>\""}], 
            "}"}]}], "\[IndentingNewLine]", "\t\t\t", "]"}]}], ";", 
        "\[IndentingNewLine]", "\[IndentingNewLine]", "\t\t\t", 
        RowBox[{"targetSetting", "=", 
         RowBox[{"DeleteMissing", "@", 
          RowBox[{
          "targetSetting", "\[LeftDoubleBracket]", "temp", 
           "\[RightDoubleBracket]"}]}]}], ";", "\[IndentingNewLine]", 
        "\t\t\t", 
        RowBox[{"If", "[", 
         RowBox[{
          RowBox[{"targetSetting", "===", 
           RowBox[{"<|", "|>"}]}], ",", "\[IndentingNewLine]", "\t\t\t", 
          RowBox[{
           RowBox[{"Message", "[", 
            RowBox[{
             RowBox[{"UnitCellTransformation", "::", "na"}], ",", 
             "\[IndentingNewLine]", "\t\t\t", 
             RowBox[{"ToLowerCase", "@", "system"}]}], "]"}], ";", 
           "\[IndentingNewLine]", "\t\t\t", 
           RowBox[{"Abort", "[", "]"}]}]}], "]"}]}], ",", 
       "\[IndentingNewLine]", "\[IndentingNewLine]", "\t\t", 
       RowBox[{"(*", " ", 
        RowBox[{
         RowBox[{"b", ".", " ", "Setting"}], " ", "extracted", " ", "from", 
         " ", "target", " ", "space", " ", "group"}], " ", "*)"}], 
       "\[IndentingNewLine]", "\t\t", 
       RowBox[{
        RowBox[{"If", "[", 
         RowBox[{
          RowBox[{"!", 
           RowBox[{"ValueQ", "@", "targetSG"}]}], ",", 
          RowBox[{"targetSG", "=", "sourceSG"}]}], "]"}], ";", 
        "\[IndentingNewLine]", "\t\t", 
        RowBox[{"targetSetting", "=", 
         RowBox[{
          RowBox[{"$GroupSymbolRedirect", "[", "targetSG", "]"}], "[", 
          "\"\<Setting\>\"", "]"}]}]}]}], "\[IndentingNewLine]", "\t", "]"}], 
     ";", "\[IndentingNewLine]", "\[IndentingNewLine]", "\t", 
     RowBox[{"(*", " ", 
      RowBox[{
      "Supply", " ", "with", " ", "current", " ", "settings", " ", "if", " ", 
       "unspecified", " ", "in", " ", "input"}], " ", "*)"}], 
     "\[IndentingNewLine]", "\t", 
     RowBox[{"targetSetting", "=", 
      RowBox[{"Append", "[", 
       RowBox[{"sourceSetting", ",", "targetSetting"}], "]"}]}], ";", 
     "\[IndentingNewLine]", "\t\t", 
     RowBox[{"(*", " ", 
      RowBox[{"Exception", ":", " ", 
       RowBox[{
        RowBox[{"No", " ", "'"}], 
        RowBox[{"RhombohedralSetting", "'"}], " ", 
        RowBox[{"for", " ", "'"}], 
        RowBox[{"R", "'"}], " ", "cell"}]}], " ", "*)"}], 
     "\[IndentingNewLine]", "\t\t", 
     RowBox[{"If", "[", 
      RowBox[{
       RowBox[{
        RowBox[{"targetSetting", "[", "\"\<MultipleCell\>\"", "]"}], "===", 
        "\"\<R\>\""}], ",", "\[IndentingNewLine]", "\t\t", 
       RowBox[{"KeyDropFrom", "[", 
        RowBox[{"targetSetting", ",", "\"\<RhombohedralSetting\>\""}], 
        "]"}]}], "]"}], ";", " ", "\[IndentingNewLine]", 
     "\[IndentingNewLine]", 
     RowBox[{"(*", " ", 
      RowBox[{"1.", 
       RowBox[{"F", ".", " ", "Validating"}], " ", "input", " ", "values"}], 
      " ", "*)"}], "\[IndentingNewLine]", "\t", 
     RowBox[{"(*", " ", 
      RowBox[{
       RowBox[{"i", ".", " ", "'"}], 
       RowBox[{"CellCentring", "'"}]}], " ", "*)"}], "\[IndentingNewLine]", 
     "\t", 
     RowBox[{"targetCentring", "=", 
      RowBox[{"targetSetting", "[", "\"\<CellCentring\>\"", "]"}]}], ";", 
     "\[IndentingNewLine]", "\t", 
     RowBox[{"If", "[", 
      RowBox[{
       RowBox[{"!", 
        RowBox[{"MissingQ", "@", "targetCentring"}]}], ",", 
       "\[IndentingNewLine]", "\t", 
       RowBox[{"If", "[", 
        RowBox[{
         RowBox[{"!", 
          RowBox[{"MemberQ", "[", 
           RowBox[{
           "centList", ",", "\[IndentingNewLine]", "\t", "targetCentring"}], 
           "]"}]}], ",", "\[IndentingNewLine]", "\t", 
         RowBox[{
          RowBox[{"Message", "[", 
           RowBox[{
            RowBox[{"UnitCellTransformation", "::", "invalid"}], ",", 
            "\[IndentingNewLine]", "\t", "targetCentring"}], "]"}], ";", 
          RowBox[{"Abort", "[", "]"}]}]}], "\[IndentingNewLine]", "\t", 
        "]"}]}], "]"}], ";", "\[IndentingNewLine]", "\[IndentingNewLine]", 
     "\t", 
     RowBox[{"(*", " ", 
      RowBox[{
       RowBox[{"ii", ".", " ", "'"}], 
       RowBox[{"UniqueAxis", "'"}]}], " ", "*)"}], "\[IndentingNewLine]", 
     "\t", 
     RowBox[{"targetAxis", "=", 
      RowBox[{"targetSetting", "[", "\"\<UniqueAxis\>\"", "]"}]}], ";", 
     "\[IndentingNewLine]", "\t", 
     RowBox[{"If", "[", 
      RowBox[{
       RowBox[{"!", 
        RowBox[{"MissingQ", "@", "targetAxis"}]}], ",", "\[IndentingNewLine]",
        "\t", 
       RowBox[{
        RowBox[{"If", "[", 
         RowBox[{
          RowBox[{"!", 
           RowBox[{"MemberQ", "[", 
            RowBox[{
             RowBox[{"{", 
              RowBox[{"\"\<a\>\"", ",", "\"\<b\>\"", ",", "\"\<c\>\""}], 
              "}"}], ",", "targetAxis"}], "]"}]}], ",", "\[IndentingNewLine]",
           "\t", 
          RowBox[{
           RowBox[{"Message", "[", 
            RowBox[{
             RowBox[{"UnitCellTransformation", "::", "invalid"}], ",", 
             "\[IndentingNewLine]", "\t", "targetAxis"}], "]"}], ";", 
           RowBox[{"Abort", "[", "]"}]}]}], "]"}], ";", "\[IndentingNewLine]",
         "\t", 
        RowBox[{"targetAxis", "=", 
         RowBox[{"ToLowerCase", "@", "targetAxis"}]}]}]}], 
      "\[IndentingNewLine]", "\t", "]"}], ";", "\[IndentingNewLine]", 
     "\[IndentingNewLine]", "\t", 
     RowBox[{"(*", " ", 
      RowBox[{
       RowBox[{"iii", ".", " ", "'"}], 
       RowBox[{"CellChoice", "'"}]}], " ", "*)"}], "\[IndentingNewLine]", 
     "\t", 
     RowBox[{"targetCC", "=", 
      RowBox[{"targetSetting", "[", "\"\<CellChoice\>\"", "]"}]}], ";", 
     "\[IndentingNewLine]", "\t", 
     RowBox[{"If", "[", 
      RowBox[{
       RowBox[{"!", 
        RowBox[{"MissingQ", "@", "targetCC"}]}], ",", "\[IndentingNewLine]", 
       "\t", 
       RowBox[{"If", "[", 
        RowBox[{
         RowBox[{"!", 
          RowBox[{"MemberQ", "[", 
           RowBox[{
            RowBox[{"{", 
             RowBox[{"1", ",", "2", ",", "3"}], "}"}], ",", "targetCC"}], 
           "]"}]}], ",", "\[IndentingNewLine]", "\t", 
         RowBox[{
          RowBox[{"Message", "[", 
           RowBox[{
            RowBox[{"UnitCellTransformation", "::", "invalid"}], ",", 
            "\[IndentingNewLine]", "\t", "targetCC"}], "]"}], ";", 
          RowBox[{"Abort", "[", "]"}]}]}], "]"}]}], "\[IndentingNewLine]", 
      "\t", "]"}], ";", "\[IndentingNewLine]", "\[IndentingNewLine]", "\t", 
     RowBox[{"(*", " ", 
      RowBox[{
       RowBox[{"iv", ".", " ", "'"}], 
       RowBox[{"AxisPermutation", "'"}]}], " ", "*)"}], "\[IndentingNewLine]",
      "\t", 
     RowBox[{"targetAP", "=", 
      RowBox[{"targetSetting", "[", "\"\<AxisPermutation\>\"", "]"}]}], ";", 
     "\[IndentingNewLine]", "\t", 
     RowBox[{"If", "[", 
      RowBox[{
       RowBox[{"!", 
        RowBox[{"MissingQ", "@", "targetAP"}]}], ",", "\[IndentingNewLine]", 
       "\t", 
       RowBox[{"(*", " ", 
        RowBox[{"Check", " ", "if", " ", "string"}], " ", "*)"}], 
       "\[IndentingNewLine]", "\t", 
       RowBox[{
        RowBox[{"If", "[", 
         RowBox[{
          RowBox[{"!", 
           RowBox[{"StringQ", "@", "targetAP"}]}], ",", "\[IndentingNewLine]",
           "\t", 
          RowBox[{
           RowBox[{"Message", "[", 
            RowBox[{
             RowBox[{"UnitCellTransformation", "::", "invalid"}], ",", 
             "\[IndentingNewLine]", "\t", "targetAP"}], "]"}], ";", 
           RowBox[{"Abort", "[", "]"}]}]}], "]"}], ";", "\[IndentingNewLine]",
         "\t", 
        RowBox[{"(*", " ", 
         RowBox[{
         "Support", " ", "for", " ", "various", " ", "input", " ", "forms"}], 
         " ", "*)"}], "\[IndentingNewLine]", "\t", 
        RowBox[{"targetAP", "=", 
         RowBox[{"ToLowerCase", "@", 
          RowBox[{"StringReplace", "[", "\[IndentingNewLine]", "\t", 
           RowBox[{"targetAP", ",", 
            RowBox[{"{", 
             RowBox[{
              RowBox[{
              "\"\<\!\(\*OverscriptBox[\(c\), \(_\)]\)\>\"", "\[Rule]", 
               "\"\<-c\>\""}], ",", 
              RowBox[{
              "\"\<\!\(\*OverscriptBox[\(C\), \(_\)]\)\>\"", "\[Rule]", 
               "\"\<-C\>\""}]}], "}"}]}], "]"}]}]}], ";", 
        "\[IndentingNewLine]", "\t", 
        RowBox[{"(*", " ", 
         RowBox[{"Check", " ", "setting", " ", "value"}], " ", "*)"}], 
        "\[IndentingNewLine]", "\t", 
        RowBox[{"If", "[", 
         RowBox[{
          RowBox[{"!", 
           RowBox[{"MemberQ", "[", 
            RowBox[{"axpList", ",", "targetAP"}], "]"}]}], ",", 
          "\[IndentingNewLine]", "\t", 
          RowBox[{
           RowBox[{"Message", "[", 
            RowBox[{
             RowBox[{"UnitCellTransformation", "::", "invalid"}], ",", 
             "\[IndentingNewLine]", "\t", 
             RowBox[{"targetSetting", "[", "\"\<AxisPermutation\>\"", "]"}]}],
             "]"}], ";", 
           RowBox[{"Abort", "[", "]"}]}]}], "]"}], ";", "\[IndentingNewLine]",
         "\t", 
        RowBox[{"(*", " ", 
         RowBox[{
          RowBox[{"Update", " ", "'"}], 
          RowBox[{"targetSetting", "'"}]}], " ", "*)"}], 
        "\[IndentingNewLine]", "\t", 
        RowBox[{
         RowBox[{"targetSetting", "[", "\"\<AxisPermutation\>\"", "]"}], "=", 
         "targetAP"}]}]}], "]"}], ";", "\[IndentingNewLine]", 
     "\[IndentingNewLine]", "\t", 
     RowBox[{"(*", " ", 
      RowBox[{
       RowBox[{"v", ".", " ", "'"}], 
       RowBox[{"MultipleCell", "'"}]}], " ", "*)"}], "\[IndentingNewLine]", 
     "\t", 
     RowBox[{"targetCell", "=", 
      RowBox[{"targetSetting", "[", "\"\<MultipleCell\>\"", "]"}]}], ";", 
     "\[IndentingNewLine]", "\t", 
     RowBox[{"If", "[", 
      RowBox[{
       RowBox[{"!", 
        RowBox[{"MissingQ", "@", "targetCell"}]}], ",", "\[IndentingNewLine]",
        "\t", 
       RowBox[{"(*", " ", 
        RowBox[{
         RowBox[{"Depending", " ", "on", " ", "crystal", " ", "system"}], 
         "..."}], " ", "*)"}], "\[IndentingNewLine]", "\t", 
       RowBox[{
        RowBox[{"temp", "=", 
         RowBox[{"Which", "[", "\[IndentingNewLine]", "\t", 
          RowBox[{
           RowBox[{"system", "===", "\"\<Tetragonal\>\""}], ",", "tetList", 
           ",", "\[IndentingNewLine]", "\t", 
           RowBox[{
            RowBox[{"system", "===", "\"\<Trigonal\>\""}], "||", 
            RowBox[{"system", "===", "\"\<Hexagonal\>\""}]}], ",", 
           "\[IndentingNewLine]", "\t\t", 
           RowBox[{"Flatten", "@", 
            RowBox[{"Join", "[", "\[IndentingNewLine]", "\t\t", 
             RowBox[{
              RowBox[{"{", 
               RowBox[{"\"\<P\>\"", ",", "\"\<R\>\""}], "}"}], ",", 
              "hex3List", ",", "hexList", ",", "monoList"}], "]"}]}], ",", 
           "\[IndentingNewLine]", "\t", "True", ",", "\[IndentingNewLine]", 
           "\t\t", 
           RowBox[{
            RowBox[{"Message", "[", 
             RowBox[{
              RowBox[{"UnitCellTransformation", "::", "na"}], ",", 
              "\[IndentingNewLine]", "\t\t", 
              RowBox[{"ToLowerCase", "@", "system"}]}], "]"}], ";", 
            RowBox[{"Abort", "[", "]"}]}]}], "]"}]}], ";", 
        "\[IndentingNewLine]", "\t", 
        RowBox[{"(*", " ", 
         RowBox[{"Check", " ", "setting", " ", "value"}], " ", "*)"}], 
        "\[IndentingNewLine]", "\t", 
        RowBox[{"If", "[", 
         RowBox[{
          RowBox[{"!", 
           RowBox[{"MemberQ", "[", 
            RowBox[{"temp", ",", "targetCell"}], "]"}]}], ",", 
          "\[IndentingNewLine]", "\t", 
          RowBox[{
           RowBox[{"Message", "[", 
            RowBox[{
             RowBox[{"UnitCellTransformation", "::", "invalidSG"}], ",", 
             "\[IndentingNewLine]", "\t", "targetCell"}], "]"}], ";", 
           RowBox[{"Abort", "[", "]"}]}]}], "]"}]}]}], "\[IndentingNewLine]", 
      "\t", "]"}], ";", "\[IndentingNewLine]", "\[IndentingNewLine]", "\t", 
     RowBox[{"(*", " ", 
      RowBox[{
       RowBox[{"vi", ".", " ", "'"}], 
       RowBox[{"RhombohedralSetting", "'"}]}], " ", "*)"}], 
     "\[IndentingNewLine]", "\t", 
     RowBox[{"targetRS", "=", 
      RowBox[{"inputRules", "[", "\"\<RhombohedralSetting\>\"", "]"}]}], ";", 
     "\[IndentingNewLine]", "\t", 
     RowBox[{"If", "[", 
      RowBox[{
       RowBox[{"!", 
        RowBox[{"MissingQ", "@", "targetRS"}]}], ",", "\[IndentingNewLine]", 
       "\t", 
       RowBox[{
        RowBox[{"targetRS", "=", 
         RowBox[{"ToLowerCase", "@", "targetRS"}]}], ";", 
        "\[IndentingNewLine]", "\t", 
        RowBox[{"(*", " ", 
         RowBox[{"Check", " ", "setting", " ", "value"}], " ", "*)"}], 
        "\[IndentingNewLine]", "\t", 
        RowBox[{"If", "[", 
         RowBox[{
          RowBox[{"!", 
           RowBox[{"MemberQ", "[", 
            RowBox[{
             RowBox[{"{", 
              RowBox[{"\"\<obverse\>\"", ",", "\"\<reverse\>\""}], "}"}], ",",
              "targetRS"}], "]"}]}], ",", "\[IndentingNewLine]", "\t", 
          RowBox[{
           RowBox[{"Message", "[", 
            RowBox[{
             RowBox[{"UnitCellTransformation", "::", "invalid"}], ",", 
             "\[IndentingNewLine]", "\t", 
             RowBox[{
             "targetSetting", "[", "\"\<RhombohedralSetting\>\"", "]"}]}], 
            "]"}], ";", 
           RowBox[{"Abort", "[", "]"}]}]}], "]"}], ";", "\[IndentingNewLine]",
         "\t", 
        RowBox[{"(*", " ", 
         RowBox[{
          RowBox[{"Update", " ", "'"}], 
          RowBox[{"targetSetting", "'"}]}], " ", "*)"}], 
        "\[IndentingNewLine]", "\t", 
        RowBox[{
         RowBox[{"targetSetting", "[", "\"\<RhombohedralSetting\>\"", "]"}], 
         "=", "targetRS"}]}]}], "\[IndentingNewLine]", "\t", "]"}], ";", 
     "\[IndentingNewLine]", "\[IndentingNewLine]", "\t", 
     RowBox[{"(*", " ", 
      RowBox[{
       RowBox[{"vii", ".", " ", "'"}], 
       RowBox[{"CellOrigin", "'"}]}], " ", "*)"}], "\[IndentingNewLine]", 
     "\t", 
     RowBox[{"targetO", "=", 
      RowBox[{"targetSetting", "[", "\"\<CellOrigin\>\"", "]"}]}], ";", 
     "\[IndentingNewLine]", "\t", 
     RowBox[{"If", "[", 
      RowBox[{
       RowBox[{"!", 
        RowBox[{"MissingQ", "@", "targetO"}]}], ",", "\[IndentingNewLine]", 
       "\t", 
       RowBox[{"If", "[", 
        RowBox[{
         RowBox[{"!", 
          RowBox[{"MemberQ", "[", 
           RowBox[{
            RowBox[{"{", 
             RowBox[{"1", ",", "2"}], "}"}], ",", "targetO"}], "]"}]}], ",", 
         "\[IndentingNewLine]", "\t", 
         RowBox[{
          RowBox[{"Message", "[", 
           RowBox[{
            RowBox[{"UnitCellTransformation", "::", "invalid"}], ",", 
            "\[IndentingNewLine]", "\t", "targetO"}], "]"}], ";", 
          RowBox[{"Abort", "[", "]"}]}]}], "]"}]}], "\[IndentingNewLine]", 
      "\t", "]"}], ";", "\[IndentingNewLine]", "\[IndentingNewLine]", 
     RowBox[{"(*", " ", 
      RowBox[{"1.", 
       RowBox[{"G", ".", " ", "Check"}], " ", "setting", " ", "constraints", 
       " ", "on", " ", "certain", " ", "space", " ", "groups"}], " ", "*)"}], 
     "\[IndentingNewLine]", "\t", 
     RowBox[{"(*", " ", 
      RowBox[{
       RowBox[{"i", ".", " ", "Target"}], " ", "setting", " ", "must", " ", 
       "be", " ", "a", " ", "subset", " ", "of", " ", "space", " ", "group", 
       " ", "settings"}], " ", "*)"}], "\[IndentingNewLine]", "\t", 
     RowBox[{"If", "[", 
      RowBox[{
       RowBox[{"!", 
        RowBox[{"(", 
         RowBox[{"SubsetQ", "@@", 
          RowBox[{"Keys", "/@", 
           RowBox[{"{", 
            RowBox[{
             RowBox[{"SG", "[", "\"\<Setting\>\"", "]"}], ",", 
             "\[IndentingNewLine]", 
             RowBox[{"Which", "[", 
              RowBox[{"(*", " ", 
               RowBox[{"Exceptions", ":", " ", 
                RowBox[{
                "Cell", " ", "centring", " ", "and", " ", "special", " ", 
                 "multiple", " ", "cells"}]}], " ", "*)"}], 
              "\[IndentingNewLine]", 
              RowBox[{
               RowBox[{"MemberQ", "[", 
                RowBox[{
                 RowBox[{"{", 
                  RowBox[{"\"\<Tetragonal\>\"", ",", "\"\<Hexagonal\>\""}], 
                  "}"}], ",", "system"}], "]"}], ",", "\[IndentingNewLine]", 
               "\t", 
               RowBox[{"KeyDrop", "[", 
                RowBox[{"targetSetting", ",", "\"\<MultipleCell\>\""}], "]"}],
                ",", "\[IndentingNewLine]", 
               RowBox[{"MemberQ", "[", 
                RowBox[{
                 RowBox[{"{", 
                  RowBox[{
                  "\"\<Monoclinic\>\"", ",", "\"\<Orthorhombic\>\"", ",", 
                   "\"\<Tetragonal\>\"", ",", "\"\<Cubic\>\""}], "}"}], ",", 
                 "system"}], "]"}], ",", "\[IndentingNewLine]", "\t", 
               RowBox[{"KeyDrop", "[", 
                RowBox[{"targetSetting", ",", "\"\<CellCentring\>\""}], "]"}],
                ",", "\[IndentingNewLine]", "True", ",", 
               "\[IndentingNewLine]", "\t", "targetSetting"}], "]"}]}], 
            "}"}]}]}], "\[IndentingNewLine]", "\t", ")"}]}], ",", 
       RowBox[{
        RowBox[{"Message", "[", 
         RowBox[{
          RowBox[{"UnitCellTransformation", "::", "diffset"}], ",", 
          "\[IndentingNewLine]", "\t\t", 
          RowBox[{"Keys", "@", "sourceSetting"}], ",", 
          RowBox[{"Keys", "@", "targetSetting"}]}], "]"}], ";", 
        RowBox[{"Abort", "[", "]"}]}]}], "\[IndentingNewLine]", "\t", "]"}], 
     ";", "\[IndentingNewLine]", "\[IndentingNewLine]", 
     RowBox[{"(*", " ", 
      RowBox[{"1.", 
       RowBox[{"H", ".", " ", "Determining"}], " ", "new", " ", "space", " ", 
       "group", " ", "symbol"}], " ", "*)"}], "\[IndentingNewLine]", "\t", 
     RowBox[{"(*", " ", 
      RowBox[{
       RowBox[{"i", ".", " ", "Determine"}], " ", "the", " ", "target", " ", 
       "space", " ", "group", " ", "from", " ", "setting", " ", "if", " ", 
       "needed"}], " ", "*)"}], "\[IndentingNewLine]", "\t\t", 
     RowBox[{"If", "[", 
      RowBox[{"needtargetSG", ",", "\[IndentingNewLine]", "\t\t", 
       RowBox[{"(*", " ", 
        RowBox[{"Main", " ", 
         RowBox[{"entry", "?"}]}], " ", "*)"}], "\[IndentingNewLine]", "\t\t", 
       RowBox[{"If", "[", 
        RowBox[{
         RowBox[{
          RowBox[{"Sort", "@", 
           RowBox[{"SG", "[", "\"\<Setting\>\"", "]"}]}], "===", 
          RowBox[{"Sort", "@", "targetSetting"}]}], ",", 
         "\[IndentingNewLine]", "\t\t", 
         RowBox[{"targetSG", "=", 
          RowBox[{"SG", "[", 
           RowBox[{"\"\<Name\>\"", ",", "\"\<HermannMauguinFull\>\""}], 
           "]"}]}], ",", "\[IndentingNewLine]", "\t\t\t", 
         RowBox[{"(*", " ", 
          RowBox[{"Special", " ", "multiple", " ", 
           RowBox[{"cell", "?"}]}], " ", "*)"}], "\[IndentingNewLine]", 
         "\t\t\t", 
         RowBox[{
          RowBox[{"If", "[", 
           RowBox[{
            RowBox[{"MemberQ", "[", 
             RowBox[{
              RowBox[{"Flatten", "@", 
               RowBox[{"Join", "[", "\[IndentingNewLine]", "\t\t\t", 
                RowBox[{"{", 
                 RowBox[{"tetList", ",", 
                  RowBox[{"{", "\"\<R\>\"", "}"}], ",", "hex3List", ",", 
                  "hexList", ",", "monoList"}], "}"}], "]"}]}], ",", 
              "\[IndentingNewLine]", "\t\t\t", "targetCell"}], "]"}], ",", 
            "\[IndentingNewLine]", "\t\t\t", 
            RowBox[{
             RowBox[{"targetSG", "=", "sourceSG"}], ";", 
             "\[IndentingNewLine]", "\t\t\t", 
             RowBox[{"targetSGnumber", "=", "sourceSGnumber"}], ";", 
             "\[IndentingNewLine]", "\t\t\t", 
             RowBox[{"Goto", "[", "\"\<CheckSGformat\>\"", "]"}]}]}], 
           "\[IndentingNewLine]", "\t\t\t", "]"}], ";", "\[IndentingNewLine]",
           "\[IndentingNewLine]", "\t\t", 
          RowBox[{"(*", " ", 
           RowBox[{"Check", " ", "alternatives"}], " ", "*)"}], 
          "\[IndentingNewLine]", "\t\t", 
          RowBox[{"temp", "=", 
           RowBox[{
           "SG", "\[LeftDoubleBracket]", "\"\<AlternativeSettings\>\"", 
            "\[RightDoubleBracket]"}]}], ";", "\[IndentingNewLine]", "\t\t", 
          RowBox[{"i", "=", "1"}], ";", "\[IndentingNewLine]", "\t\t", 
          RowBox[{"While", "[", 
           RowBox[{"True", ",", "\[IndentingNewLine]", "\t\t", 
            RowBox[{
             RowBox[{"If", "[", 
              RowBox[{
               RowBox[{"i", ">", 
                RowBox[{"Length", "@", "temp"}]}], ",", "\[IndentingNewLine]",
                "\t\t", 
               RowBox[{
                RowBox[{"Message", "[", 
                 RowBox[{"UnitCellTransformation", "::", "target"}], "]"}], 
                ";", 
                RowBox[{"Abort", "[", "]"}]}]}], "]"}], ";", 
             "\[IndentingNewLine]", "\t\t", 
             RowBox[{"If", "[", 
              RowBox[{
               RowBox[{
                RowBox[{"Sort", "@", 
                 RowBox[{"temp", "\[LeftDoubleBracket]", 
                  RowBox[{"i", ",", "\"\<Setting\>\""}], 
                  "\[RightDoubleBracket]"}]}], "===", 
                RowBox[{"Sort", "@", "targetSetting"}]}], ",", 
               "\[IndentingNewLine]", "\t\t", 
               RowBox[{
                RowBox[{"targetSG", "=", 
                 RowBox[{"temp", "\[LeftDoubleBracket]", 
                  RowBox[{
                  "i", ",", "\"\<Name\>\"", ",", 
                   "\"\<HermannMauguinFull\>\""}], 
                  "\[RightDoubleBracket]"}]}], ";", "\[IndentingNewLine]", 
                "\t\t", 
                RowBox[{"Break", "[", "]"}]}]}], "]"}], ";", 
             "\[IndentingNewLine]", "\t\t", 
             RowBox[{"i", "++"}]}]}], "]"}]}]}], "\[IndentingNewLine]", 
        "\t\t", "]"}]}], "]"}], ";", "\[IndentingNewLine]", 
     "\[IndentingNewLine]", "\t", 
     RowBox[{"(*", " ", 
      RowBox[{
       RowBox[{"ii", ".", " ", "Check"}], " ", "if", " ", "source", " ", 
       "and", " ", "target", " ", "are", " ", "same", " ", "space", " ", 
       "group"}], " ", "*)"}], "\[IndentingNewLine]", "\t", 
     RowBox[{"targetSGnumber", "=", 
      RowBox[{"GetSymmetryData", "[", 
       RowBox[{"targetSG", ",", "\"\<SpaceGroupNumber\>\""}], "]"}]}], ";", 
     "\[IndentingNewLine]", "\[IndentingNewLine]", "\t", 
     RowBox[{"If", "[", 
      RowBox[{
       RowBox[{"sourceSGnumber", "\[NotEqual]", "targetSGnumber"}], ",", 
       "\[IndentingNewLine]", "\t", 
       RowBox[{
        RowBox[{"Message", "[", 
         RowBox[{
          RowBox[{"UnitCellTransformation", "::", "differentsg"}], ",", 
          "\[IndentingNewLine]", "\t", 
          RowBox[{"GetSymmetryData", "[", 
           RowBox[{"sourceSG", ",", "\"\<Symbol\>\""}], "]"}], ",", 
          "sourceSGnumber", ",", "\[IndentingNewLine]", "\t", 
          RowBox[{"GetSymmetryData", "[", 
           RowBox[{"targetSG", ",", "\"\<Symbol\>\""}], "]"}], ",", 
          "targetSGnumber"}], "]"}], ";", "\[IndentingNewLine]", "\t", 
        RowBox[{"Abort", "[", "]"}]}]}], "]"}], ";", "\[IndentingNewLine]", 
     "\[IndentingNewLine]", "\t", 
     RowBox[{"(*", " ", 
      RowBox[{
       RowBox[{"iii", ".", " ", "Check"}], " ", "whether", " ", "to", " ", 
       "use", " ", "formatted", " ", "symbol"}], " ", "*)"}], 
     "\[IndentingNewLine]", "\t", 
     RowBox[{"Label", "[", "\"\<CheckSGformat\>\"", "]"}], ";", 
     "\[IndentingNewLine]", "\t", 
     RowBox[{"targetSG", "=", 
      RowBox[{"ToStandardSetting", "@", "targetSG"}]}], ";", 
     "\[IndentingNewLine]", "\[IndentingNewLine]", 
     RowBox[{"(*", " ", 
      RowBox[{"1.", 
       RowBox[{"I", ".", " ", "Common"}], " ", "transformation", " ", 
       "procedures"}], " ", "*)"}], "\[IndentingNewLine]", "\t", 
     RowBox[{"(*", " ", 
      RowBox[{"'", 
       RowBox[{"CellCentring", "'"}]}], " ", "*)"}], "\[IndentingNewLine]", 
     "\t", 
     RowBox[{"procedureCellCentring", ":=", 
      RowBox[{"(", "\[IndentingNewLine]", "\t", 
       RowBox[{"If", "[", 
        RowBox[{
         RowBox[{"!", 
          RowBox[{"MissingQ", "@", "targetCentring"}]}], ",", 
         "\[IndentingNewLine]", "\t", 
         RowBox[{
          RowBox[{"If", "[", 
           RowBox[{
            RowBox[{
             RowBox[{"MissingQ", "@", "sourceCentring"}], "||", 
             RowBox[{"!", 
              RowBox[{"ValueQ", "@", "sourceCentring"}]}]}], ",", 
            "\[IndentingNewLine]", "\t", 
            RowBox[{"sourceCentring", "=", 
             RowBox[{"StringTake", "[", 
              RowBox[{"fullHM", ",", "1"}], "]"}]}]}], "]"}], ";", 
          "\[IndentingNewLine]", "\[IndentingNewLine]", "\t", 
          RowBox[{"Which", "[", "\[IndentingNewLine]", "\t", 
           RowBox[{"(*", " ", 
            RowBox[{"No", " ", "change"}], " ", "*)"}], "\[IndentingNewLine]",
            "\t", 
           RowBox[{
            RowBox[{"sourceCentring", "===", "targetCentring"}], ",", 
            "\[IndentingNewLine]", "\t", "Null", ",", "\[IndentingNewLine]", 
            "\[IndentingNewLine]", "\t", 
            RowBox[{"(*", " ", 
             RowBox[{"Transformation", " ", 
              RowBox[{"from", " ", "'"}], 
              RowBox[{"P", "'"}]}], " ", "*)"}], "\[IndentingNewLine]", "\t", 
            
            RowBox[{"sourceCentring", "===", "\"\<P\>\""}], ",", 
            "\[IndentingNewLine]", "\t", 
            RowBox[{"P1", "=", 
             RowBox[{"Inverse", "@", 
              RowBox[{
              "$TransformationMatrices", "[", "\[IndentingNewLine]", "\t", 
               RowBox[{"targetCentring", "<>", "\"\<_to_P\>\""}], "]"}]}]}], 
            ",", "\[IndentingNewLine]", "\[IndentingNewLine]", "\t", 
            RowBox[{"(*", " ", 
             RowBox[{"Transformation", " ", 
              RowBox[{"to", " ", "'"}], 
              RowBox[{"P", "'"}]}], " ", "*)"}], "\[IndentingNewLine]", "\t", 
            
            RowBox[{"targetCentring", "===", "\"\<P\>\""}], ",", 
            "\[IndentingNewLine]", "\t", 
            RowBox[{"P1", "=", 
             RowBox[{"$TransformationMatrices", "[", 
              RowBox[{"sourceCentring", "<>", "\"\<_to_P\>\""}], "]"}]}], ",",
             "\[IndentingNewLine]", "\[IndentingNewLine]", "\t", 
            RowBox[{"(*", " ", 
             RowBox[{"Transformation", " ", 
              RowBox[{"via", " ", "'"}], 
              RowBox[{"P", "'"}]}], " ", "*)"}], "\[IndentingNewLine]", "\t", 
            "True", ",", "\[IndentingNewLine]", "\t", 
            RowBox[{
             RowBox[{"P1", "=", 
              RowBox[{"$TransformationMatrices", "[", 
               RowBox[{"sourceCentring", "<>", "\"\<_to_P\>\""}], "]"}]}], 
             ";", "\[IndentingNewLine]", "\t", 
             RowBox[{"P2", "=", 
              RowBox[{"Inverse", "@", 
               RowBox[{"$TransformationMatrices", "[", 
                RowBox[{"targetCentring", "<>", "\"\<_to_P\>\""}], 
                "]"}]}]}]}]}], "\[IndentingNewLine]", "\t", "]"}]}]}], 
        "\[IndentingNewLine]", "\t", "]"}], ")"}]}], ";", 
     "\[IndentingNewLine]", "\[IndentingNewLine]", "\t", 
     RowBox[{"(*", " ", 
      RowBox[{"'", 
       RowBox[{"CellOrigin", "'"}]}], " ", "*)"}], "\[IndentingNewLine]", 
     "\t", 
     RowBox[{"procedureCellOrigin", ":=", 
      RowBox[{"(", "\[IndentingNewLine]", "\t", 
       RowBox[{"If", "[", 
        RowBox[{
         RowBox[{"KeyExistsQ", "[", 
          RowBox[{"targetSetting", ",", "\"\<CellOrigin\>\""}], "]"}], ",", 
         "\[IndentingNewLine]", "\t", 
         RowBox[{
          RowBox[{"temp", "=", 
           RowBox[{"{", 
            RowBox[{
             RowBox[{"sourceSetting", "[", "\"\<CellOrigin\>\"", "]"}], ",", 
             "targetO"}], "}"}]}], ";", "\[IndentingNewLine]", "\t", 
          RowBox[{"shift", "=", 
           RowBox[{"SG", "\[LeftDoubleBracket]", 
            RowBox[{
            "\"\<AlternativeSettings\>\"", ",", "1", ",", 
             "\"\<OriginShift\>\""}], "\[RightDoubleBracket]"}]}], ";", 
          "\[IndentingNewLine]", "\t", 
          RowBox[{"If", "[", 
           RowBox[{
            RowBox[{"!", 
             RowBox[{"MissingQ", "@", "targetO"}]}], ",", 
            "\[IndentingNewLine]", "\t", 
            RowBox[{"(*", " ", 
             RowBox[{
             "Get", " ", "space", " ", "group", " ", "origin", " ", "shift", 
              " ", 
              RowBox[{"(", 
               RowBox[{"shift", " ", "vector"}], ")"}]}], " ", "*)"}], 
            "\[IndentingNewLine]", "\t", 
            RowBox[{"Which", "[", "\[IndentingNewLine]", "\t", 
             RowBox[{
              RowBox[{"temp", "===", 
               RowBox[{"{", 
                RowBox[{"1", ",", "1"}], "}"}]}], ",", "Null", ",", 
              "\[IndentingNewLine]", "\t", 
              RowBox[{"temp", "===", 
               RowBox[{"{", 
                RowBox[{"2", ",", "2"}], "}"}]}], ",", "Null", ",", 
              "\[IndentingNewLine]", "\t", 
              RowBox[{"temp", "===", 
               RowBox[{"{", 
                RowBox[{"1", ",", "2"}], "}"}]}], ",", 
              RowBox[{"p", "=", "shift"}], ",", "\[IndentingNewLine]", "\t", 
              RowBox[{"temp", "===", 
               RowBox[{"{", 
                RowBox[{"2", ",", "1"}], "}"}]}], ",", 
              RowBox[{"p", "=", 
               RowBox[{"-", "shift"}]}]}], "]"}]}], "\[IndentingNewLine]", 
           "\t", "]"}]}]}], "\[IndentingNewLine]", "\t", "]"}], ")"}]}], ";", 
     "\[IndentingNewLine]", "\[IndentingNewLine]", "\[IndentingNewLine]", 
     RowBox[{"(*", 
      RowBox[{
       RowBox[{"--", "-"}], "*", " ", "2.", " ", "Determining", " ", 
       "correct", " ", "transformation", " ", "matrices", " ", "*", 
       RowBox[{"--", "-"}]}], "*)"}], "\[IndentingNewLine]", 
     RowBox[{"Goto", "[", "system", "]"}], ";", "\[IndentingNewLine]", 
     "\[IndentingNewLine]", 
     RowBox[{"(*", 
      RowBox[{
       RowBox[{"--", " ", "2."}], 
       RowBox[{"A", ".", " ", 
        RowBox[{"Triclinic", " ", "--"}]}]}], "*)"}], "\[IndentingNewLine]", 
     RowBox[{"Label", "[", "\"\<Triclinic\>\"", "]"}], ";", 
     "\[IndentingNewLine]", "\[IndentingNewLine]", "\t", 
     RowBox[{"(*", " ", 
      RowBox[{
       RowBox[{"i", ".", " ", "'"}], 
       RowBox[{"CellCentring", "'"}]}], " ", "*)"}], "\[IndentingNewLine]", 
     "\t", "procedureCellCentring", ";", "\[IndentingNewLine]", 
     "\[IndentingNewLine]", "\t", 
     RowBox[{"(*", " ", 
      RowBox[{"Preparations", " ", "done"}], " ", "*)"}], 
     "\[IndentingNewLine]", "\t", 
     RowBox[{"Goto", "[", "\"\<MetricTransformation\>\"", "]"}], ";", 
     "\[IndentingNewLine]", "\[IndentingNewLine]", "\[IndentingNewLine]", 
     RowBox[{"(*", 
      RowBox[{
       RowBox[{"--", " ", "2."}], 
       RowBox[{"B", ".", " ", 
        RowBox[{"Monoclinic", " ", "--"}]}]}], "*)"}], "\[IndentingNewLine]", 
     
     RowBox[{"Label", "[", "\"\<Monoclinic\>\"", "]"}], ";", 
     "\[IndentingNewLine]", "\[IndentingNewLine]", "\t", 
     RowBox[{"(*", " ", "Prepartations", " ", "*)"}], "\[IndentingNewLine]", 
     "\t\t", 
     RowBox[{"(*", " ", 
      RowBox[{
       RowBox[{"If", " ", "target", " ", "axis", " ", "not", " ", "given"}], 
       ",", " ", 
       RowBox[{"use", " ", "same", " ", "axis", " ", "as", " ", "source"}]}], 
      " ", "*)"}], "\[IndentingNewLine]", "\t\t", 
     RowBox[{"If", "[", 
      RowBox[{
       RowBox[{
        RowBox[{"MissingQ", "@", "targetAxis"}], "||", 
        RowBox[{"!", 
         RowBox[{"ValueQ", "@", "targetAxis"}]}]}], ",", 
       "\[IndentingNewLine]", "\t\t", 
       RowBox[{"targetAxis", "=", 
        RowBox[{"sourceSetting", "[", "\"\<UniqueAxis\>\"", "]"}]}]}], "]"}], 
     ";", "\[IndentingNewLine]", "\[IndentingNewLine]", "\t", 
     RowBox[{"(*", " ", 
      RowBox[{
       RowBox[{"i", ".", " ", "'"}], 
       RowBox[{"UniqueAxis", "'"}]}], " ", "*)"}], "\[IndentingNewLine]", 
     "\t\t", 
     RowBox[{"(*", " ", 
      RowBox[{"Target", " ", "unique", " ", "axis", " ", "transformation"}], 
      " ", "*)"}], "\[IndentingNewLine]", "\t\t", 
     RowBox[{"allowed", "=", 
      RowBox[{"{", "\[IndentingNewLine]", "\t\t", 
       RowBox[{
       "\"\<UniqueAxisB_to_C\>\"", ",", "\[IndentingNewLine]", "\t\t", 
        "\"\<UniqueAxisB_to_A\>\"", ",", "\[IndentingNewLine]", "\t\t", 
        "\"\<UniqueAxisC_to_A\>\""}], "}"}]}], ";", "\[IndentingNewLine]", 
     "\[IndentingNewLine]", "\t\t", 
     RowBox[{"temp", "=", 
      RowBox[{"ToUpperCase", "/@", 
       RowBox[{"{", 
        RowBox[{
         RowBox[{"sourceSetting", "[", "\"\<UniqueAxis\>\"", "]"}], ",", 
         "targetAxis"}], "}"}]}]}], ";", "\[IndentingNewLine]", "\t", 
     "\[IndentingNewLine]", "\t\t", 
     RowBox[{"(*", " ", 
      RowBox[{"Check", " ", "whether", " ", "P", " ", "or", " ", "Q", " ", 
       RowBox[{"(", "inverse", ")"}], " ", "is", " ", "needed"}], " ", "*)"}],
      "\[IndentingNewLine]", "\t\t", 
     RowBox[{"cmd", "=", 
      RowBox[{"\"\<UniqueAxis\>\"", "<>", 
       RowBox[{"temp", "\[LeftDoubleBracket]", "1", "\[RightDoubleBracket]"}],
        "<>", "\"\<_to_\>\"", "<>", 
       RowBox[{
       "temp", "\[LeftDoubleBracket]", "2", "\[RightDoubleBracket]"}]}]}], 
     ";", "\[IndentingNewLine]", "\t\t", 
     RowBox[{"If", "[", 
      RowBox[{
       RowBox[{"MemberQ", "[", 
        RowBox[{"allowed", ",", "cmd"}], "]"}], ",", "\[IndentingNewLine]", 
       "\t\t", 
       RowBox[{"Q", "=", "False"}], ",", "\[IndentingNewLine]", "\t\t", 
       RowBox[{
        RowBox[{"Q", "=", "True"}], ";", "\[IndentingNewLine]", "\t\t\t", 
        RowBox[{"cmd", "=", 
         RowBox[{"\"\<UniqueAxis\>\"", "<>", 
          RowBox[{
          "temp", "\[LeftDoubleBracket]", "2", "\[RightDoubleBracket]"}], 
          "<>", "\"\<_to_\>\"", "<>", 
          RowBox[{
          "temp", "\[LeftDoubleBracket]", "1", 
           "\[RightDoubleBracket]"}]}]}]}]}], "\[IndentingNewLine]", "\t\t", 
      "]"}], ";", "\[IndentingNewLine]", "\[IndentingNewLine]", "\t\t", 
     RowBox[{"(*", " ", 
      RowBox[{"Target", " ", "unique", " ", "axis", " ", "transformation"}], 
      " ", "*)"}], "\[IndentingNewLine]", "\t\t", 
     RowBox[{"If", "[", 
      RowBox[{
       RowBox[{"!", 
        RowBox[{"SameQ", "@@", "temp"}]}], ",", "\[IndentingNewLine]", "\t\t", 
       RowBox[{
        RowBox[{"P1", "=", 
         RowBox[{"$TransformationMatrices", "[", "cmd", "]"}]}], ";", 
        "\[IndentingNewLine]", "\t\t", 
        RowBox[{"If", "[", 
         RowBox[{"Q", ",", 
          RowBox[{"P1", "=", 
           RowBox[{"Inverse", "@", "P1"}]}]}], "]"}]}]}], 
      "\[IndentingNewLine]", "\t\t", "]"}], ";", "\[IndentingNewLine]", 
     "\[IndentingNewLine]", "\t", 
     RowBox[{"(*", " ", 
      RowBox[{
       RowBox[{"ii", ".", " ", "'"}], 
       RowBox[{"CellChoice", "'"}]}], " ", "*)"}], "\[IndentingNewLine]", 
     "\t\t", 
     RowBox[{"(*", " ", 
      RowBox[{
      "Check", " ", "if", " ", "cell", " ", "choice", " ", "is", " ", "an", 
       " ", "available", " ", "setting"}], " ", "*)"}], "\t\t", 
     "\[IndentingNewLine]", "\t\t", 
     RowBox[{"If", "[", 
      RowBox[{
       RowBox[{
        RowBox[{"!", 
         RowBox[{"KeyExistsQ", "[", 
          RowBox[{
           RowBox[{"SG", "[", "\"\<Setting\>\"", "]"}], ",", 
           "\"\<CellChoice\>\""}], "]"}]}], "\[IndentingNewLine]", "\t\t", "&&", 
        RowBox[{"KeyExistsQ", "[", 
         RowBox[{"targetSetting", ",", "\"\<CellChoice\>\""}], "]"}]}], ",", 
       "\[IndentingNewLine]", "\t\t", 
       RowBox[{
        RowBox[{"Message", "[", 
         RowBox[{
          RowBox[{"UnitCellTransformation", "::", "command"}], ",", 
          "\"\<CellChoice\>\""}], "]"}], ";", "\[IndentingNewLine]", "\t\t", 
        RowBox[{"Abort", "[", "]"}]}], ",", "\[IndentingNewLine]", 
       "\[IndentingNewLine]", "\t\t", 
       RowBox[{"If", "[", 
        RowBox[{
         RowBox[{"!", 
          RowBox[{"MissingQ", "@", "targetCC"}]}], ",", "\[IndentingNewLine]",
          "\t\t", 
         RowBox[{"(*", " ", 
          RowBox[{
          "Matrix", " ", "for", " ", "checking", " ", "transformation", " ", 
           "signature"}], " ", "*)"}], "\[IndentingNewLine]", "\t\t", 
         RowBox[{
          RowBox[{"temp", "=", 
           RowBox[{"{", 
            RowBox[{
             RowBox[{"{", 
              RowBox[{"0", ",", "1", ",", 
               RowBox[{"-", "1"}]}], "}"}], ",", 
             RowBox[{"{", 
              RowBox[{
               RowBox[{"-", "1"}], ",", "0", ",", "1"}], "}"}], ",", 
             RowBox[{"{", 
              RowBox[{"1", ",", 
               RowBox[{"-", "1"}], ",", "0"}], "}"}]}], "}"}]}], ";", 
          "\[IndentingNewLine]", "\t\t", 
          RowBox[{"temp", "=", 
           RowBox[{"temp", "\[LeftDoubleBracket]", 
            RowBox[{
             RowBox[{"sg", "[", 
              RowBox[{"\"\<Setting\>\"", ",", "\"\<CellChoice\>\""}], "]"}], 
             ",", "targetCC"}], "\[RightDoubleBracket]"}]}], ";", 
          "\[IndentingNewLine]", "\t\t", 
          RowBox[{"(*", " ", 
           RowBox[{
            RowBox[{"Use", " ", "regular"}], ",", " ", "none", ",", " ", 
            RowBox[{"or", " ", "inverse", " ", "transformation"}]}], " ", 
           "*)"}], "\[IndentingNewLine]", "\t\t", 
          RowBox[{"Which", "[", "\[IndentingNewLine]", "\t\t", 
           RowBox[{
            RowBox[{"temp", "===", 
             RowBox[{"-", "1"}]}], ",", 
            RowBox[{"Q", "=", "True"}], ",", "\[IndentingNewLine]", "\t\t", 
            RowBox[{"temp", "===", "0"}], ",", 
            RowBox[{"Goto", "[", "\"\<MetricTransformation\>\"", "]"}], ",", 
            "\[IndentingNewLine]", "\t\t", 
            RowBox[{"temp", "===", "1"}], ",", 
            RowBox[{"Q", "=", "False"}]}], "\[IndentingNewLine]", "\t\t", 
           "]"}], ";", "\[IndentingNewLine]", "\t\t", 
          RowBox[{"cmd", "=", 
           RowBox[{"\"\<UniqueAxis\>\"", "<>", 
            RowBox[{"ToUpperCase", "@", "targetAxis"}], "\[IndentingNewLine]",
             "\t\t", "<>", "\"\<_CellChoice+1\>\""}]}], ";", 
          "\[IndentingNewLine]", "\t\t", 
          RowBox[{"P2", "=", 
           RowBox[{"$TransformationMatrices", "[", "cmd", "]"}]}], ";", 
          "\[IndentingNewLine]", "\t\t", 
          RowBox[{"If", "[", 
           RowBox[{"Q", ",", 
            RowBox[{"P2", "=", 
             RowBox[{"Inverse", "@", "P2"}]}]}], "]"}], ";"}]}], 
        "\[IndentingNewLine]", "\t\t", "]"}]}], "]"}], ";", 
     "\[IndentingNewLine]", "\[IndentingNewLine]", "\t", 
     RowBox[{"(*", " ", 
      RowBox[{"Preparations", " ", "done"}], " ", "*)"}], 
     "\[IndentingNewLine]", "\t", 
     RowBox[{"Goto", "[", "\"\<MetricTransformation\>\"", "]"}], ";", 
     "\[IndentingNewLine]", "\[IndentingNewLine]", "\[IndentingNewLine]", 
     RowBox[{"(*", 
      RowBox[{
       RowBox[{"--", " ", "2."}], 
       RowBox[{"C", ".", " ", 
        RowBox[{"Orthorhombic", " ", "--"}]}]}], "*)"}], 
     "\[IndentingNewLine]", 
     RowBox[{"Label", "[", "\"\<Orthorhombic\>\"", "]"}], ";", 
     "\[IndentingNewLine]", "\[IndentingNewLine]", "\t", 
     RowBox[{"(*", " ", 
      RowBox[{
       RowBox[{"i", ".", " ", "'"}], 
       RowBox[{"AxisPermutation", "'"}]}], " ", "*)"}], "\[IndentingNewLine]",
      "\t\t", 
     RowBox[{"If", "[", 
      RowBox[{
       RowBox[{"!", 
        RowBox[{"MissingQ", "@", "targetAP"}]}], ",", "\[IndentingNewLine]", 
       "\t\t", 
       RowBox[{"(*", " ", 
        RowBox[{
        "Check", " ", "which", " ", "matrices", " ", "are", " ", "needed"}], 
        " ", "*)"}], "\[IndentingNewLine]", "\t\t", 
       RowBox[{
        RowBox[{"temp", "=", 
         RowBox[{"ToUpperCase", "/@", "\[IndentingNewLine]", "\t\t", 
          RowBox[{"{", 
           RowBox[{
            RowBox[{"sourceSetting", "[", "\"\<AxisPermutation\>\"", "]"}], 
            ",", "targetAP"}], "}"}]}]}], ";", "\[IndentingNewLine]", "\t\t", 
        
        RowBox[{"If", "[", 
         RowBox[{
          RowBox[{"SameQ", "@@", "temp"}], ",", "\[IndentingNewLine]", "\t\t", 
          RowBox[{"(*", " ", 
           RowBox[{"Same", " ", "axis", " ", 
            RowBox[{"permutation", " ", "--"}], " ", "no", " ", "transform", 
            " ", "required"}], " ", "*)"}], "\[IndentingNewLine]", "\t\t", 
          "Null", ",", "\[IndentingNewLine]", "\t\t", 
          RowBox[{"If", "[", 
           RowBox[{
            RowBox[{"!", 
             RowBox[{"MemberQ", "[", 
              RowBox[{"temp", ",", "\"\<DEF\>\""}], "]"}]}], ",", 
            "\[IndentingNewLine]", "\t\t", 
            RowBox[{"(*", " ", 
             RowBox[{"Chain", " ", 
              RowBox[{"through", " ", "'"}], 
              RowBox[{"abc", "'"}]}], " ", "*)"}], "\[IndentingNewLine]", 
            "\t\t", 
            RowBox[{
             RowBox[{"x", "=", 
              RowBox[{
               RowBox[{
               "temp", "\[LeftDoubleBracket]", "1", "\[RightDoubleBracket]"}],
                "<>", "\"\<_to_DEF\>\""}]}], ";", "\[IndentingNewLine]", 
             "\t\t", 
             RowBox[{"y", "=", 
              RowBox[{
               RowBox[{
               "temp", "\[LeftDoubleBracket]", "2", "\[RightDoubleBracket]"}],
                "<>", "\"\<_to_DEF\>\""}]}], ";", "\[IndentingNewLine]", 
             "\t\t", 
             RowBox[{"P1", "=", 
              RowBox[{"$TransformationMatrices", "[", "x", "]"}]}], ";", 
             "\[IndentingNewLine]", "\t\t", 
             RowBox[{"P2", "=", 
              RowBox[{"Inverse", "@", 
               RowBox[{"$TransformationMatrices", "[", "y", "]"}]}]}]}], ",", 
            "\[IndentingNewLine]", "\t\t", 
            RowBox[{"(*", " ", 
             RowBox[{
             "OR", " ", "use", " ", "one", " ", "of", " ", "the", " ", "six", 
              " ", "transformations"}], " ", "*)"}], "\[IndentingNewLine]", 
            "\t\t", 
            RowBox[{
             RowBox[{"cmd", "=", 
              RowBox[{
               RowBox[{
               "temp", "\[LeftDoubleBracket]", "1", "\[RightDoubleBracket]"}],
                "<>", "\"\<_to_\>\"", "<>", 
               RowBox[{
               "temp", "\[LeftDoubleBracket]", "2", 
                "\[RightDoubleBracket]"}]}]}], ";", "\[IndentingNewLine]", 
             "\t\t", 
             RowBox[{"If", "[", 
              RowBox[{
               RowBox[{"KeyExistsQ", "[", 
                RowBox[{"$TransformationMatrices", ",", "cmd"}], "]"}], ",", 
               "\[IndentingNewLine]", "\t\t", 
               RowBox[{"P1", "=", 
                RowBox[{"$TransformationMatrices", "[", "cmd", "]"}]}], ",", 
               "\[IndentingNewLine]", "\t\t", 
               RowBox[{"P1", "=", 
                RowBox[{"Inverse", "@", 
                 RowBox[{
                 "$TransformationMatrices", "[", "\[IndentingNewLine]", "\t", 
                  
                  RowBox[{
                   RowBox[{
                   "temp", "\[LeftDoubleBracket]", "2", 
                    "\[RightDoubleBracket]"}], "<>", "\"\<_to_\>\"", "<>", 
                   RowBox[{
                   "temp", "\[LeftDoubleBracket]", "1", 
                    "\[RightDoubleBracket]"}]}], "]"}]}]}]}], 
              "\[IndentingNewLine]", "\t\t", "]"}]}]}], "\[IndentingNewLine]",
            "\t\t", "]"}]}], "\[IndentingNewLine]", "\t\t", "]"}]}]}], 
      "\[IndentingNewLine]", "\t\t", "]"}], ";", "\[IndentingNewLine]", 
     "\[IndentingNewLine]", "\t", 
     RowBox[{"(*", " ", 
      RowBox[{
       RowBox[{"ii", ".", " ", "'"}], 
       RowBox[{"CellOrigin", "'"}]}], " ", "*)"}], "\[IndentingNewLine]", 
     "\t", "procedureCellOrigin", ";", "\[IndentingNewLine]", 
     "\[IndentingNewLine]", "\t", 
     RowBox[{"(*", " ", 
      RowBox[{"Preparations", " ", "done"}], " ", "*)"}], 
     "\[IndentingNewLine]", "\t", 
     RowBox[{"Goto", "[", "\"\<MetricTransformation\>\"", "]"}], ";", 
     "\[IndentingNewLine]", "\[IndentingNewLine]", "\[IndentingNewLine]", 
     RowBox[{"(*", 
      RowBox[{
       RowBox[{"--", " ", "2."}], 
       RowBox[{"D", ".", " ", 
        RowBox[{"Tetragonal", " ", "--"}]}]}], "*)"}], "\[IndentingNewLine]", 
     
     RowBox[{"Label", "[", "\"\<Tetragonal\>\"", "]"}], ";", 
     "\[IndentingNewLine]", "\[IndentingNewLine]", "\t", 
     RowBox[{"(*", " ", 
      RowBox[{"Checks", " ", "and", " ", "updates"}], " ", "*)"}], 
     "\[IndentingNewLine]", "\t", 
     RowBox[{"If", "[", 
      RowBox[{
       RowBox[{
        RowBox[{"MissingQ", "@", "sourceCentring"}], "||", 
        RowBox[{"!", 
         RowBox[{"ValueQ", "@", "sourceCentring"}]}]}], ",", 
       "\[IndentingNewLine]", "\t", 
       RowBox[{"sourceCentring", "=", 
        RowBox[{"StringTake", "[", "\[IndentingNewLine]", "\t", 
         RowBox[{
          RowBox[{"sg", "[", 
           RowBox[{"\"\<Name\>\"", ",", "\"\<HermannMauguinShort\>\""}], 
           "]"}], ",", "1"}], "]"}]}]}], "]"}], ";", "\[IndentingNewLine]", 
     "\[IndentingNewLine]", "\t", 
     RowBox[{"If", "[", 
      RowBox[{
       RowBox[{
        RowBox[{"MissingQ", "@", "targetCentring"}], "||", 
        RowBox[{"!", 
         RowBox[{"ValueQ", "@", "targetCentring"}]}]}], ",", 
       "\[IndentingNewLine]", "\t", 
       RowBox[{"targetCentring", "=", 
        RowBox[{"StringTake", "[", "\[IndentingNewLine]", "\t", 
         RowBox[{
          RowBox[{"SG", "[", 
           RowBox[{"\"\<Name\>\"", ",", "\"\<HermannMauguinShort\>\""}], 
           "]"}], ",", "1"}], "]"}]}]}], "]"}], ";", "\[IndentingNewLine]", 
     "\[IndentingNewLine]", "\t", 
     RowBox[{"(*", " ", 
      RowBox[{
       RowBox[{"i", ".", " ", "'"}], 
       RowBox[{"CellCentring", "'"}]}], " ", "*)"}], "\[IndentingNewLine]", 
     "\t", "procedureCellCentring", ";", "\[IndentingNewLine]", 
     "\[IndentingNewLine]", "\t", 
     RowBox[{"(*", " ", 
      RowBox[{
       RowBox[{"ii", ".", " ", "'"}], 
       RowBox[{"MultipleCell", "'"}]}], " ", "*)"}], "\[IndentingNewLine]", 
     "\t", 
     RowBox[{"If", "[", 
      RowBox[{
       RowBox[{"KeyExistsQ", "[", 
        RowBox[{"targetSetting", ",", "\"\<MultipleCell\>\""}], "]"}], ",", 
       "\[IndentingNewLine]", "\t", 
       RowBox[{"(*", " ", 
        RowBox[{
         RowBox[{"If", " ", "already", " ", "transformed"}], ",", " ", 
         RowBox[{"transform", " ", 
          RowBox[{"to", " ", "'"}], 
          RowBox[{"P", "'"}], " ", 
          RowBox[{"or", " ", "'"}], 
          RowBox[{"I", "'"}]}]}], " ", "*)"}], "\[IndentingNewLine]", "\t", 
       RowBox[{
        RowBox[{"If", "[", 
         RowBox[{
          RowBox[{"MemberQ", "[", 
           RowBox[{"tetList", ",", "sourceCell"}], "]"}], ",", 
          "\[IndentingNewLine]", "\t", 
          RowBox[{"P1", "=", 
           RowBox[{"Inverse", "@", 
            RowBox[{
            "$TransformationMatrices", "[", "\[IndentingNewLine]", "\t", 
             RowBox[{"\"\<TetragonalProjection\>\"", "<>", 
              RowBox[{"StringTake", "[", 
               RowBox[{"sourceCell", ",", 
                RowBox[{"-", "1"}]}], "]"}]}], "]"}]}]}]}], 
         "\[IndentingNewLine]", "\t", "]"}], ";", "\[IndentingNewLine]", 
        "\[IndentingNewLine]", "\t", 
        RowBox[{"(*", " ", 
         RowBox[{"Transforming", " ", "to", " ", "target", " ", "cell"}], " ",
          "*)"}], "\[IndentingNewLine]", "\t", 
        RowBox[{"If", "[", 
         RowBox[{
          RowBox[{"!", 
           RowBox[{"MemberQ", "[", 
            RowBox[{
             RowBox[{"{", 
              RowBox[{"\"\<P\>\"", ",", "\"\<I\>\""}], "}"}], ",", 
             "targetCell"}], "]"}]}], ",", "\[IndentingNewLine]", "\t", 
          RowBox[{"P2", "=", 
           RowBox[{
           "$TransformationMatrices", "[", "\[IndentingNewLine]", "\t", 
            RowBox[{"\"\<TetragonalProjection\>\"", "<>", 
             RowBox[{"StringTake", "[", 
              RowBox[{"targetCell", ",", 
               RowBox[{"-", "1"}]}], "]"}]}], "]"}]}]}], 
         "\[IndentingNewLine]", "\t", "]"}]}]}], "\[IndentingNewLine]", "\t", 
      "]"}], ";", "\[IndentingNewLine]", "\t", "\[IndentingNewLine]", "\t", 
     RowBox[{"(*", " ", 
      RowBox[{
       RowBox[{"iii", ".", " ", "'"}], 
       RowBox[{"CellOrigin", "'"}]}], " ", "*)"}], "\[IndentingNewLine]", 
     "\t", "procedureCellOrigin", ";", "\[IndentingNewLine]", 
     "\[IndentingNewLine]", "\t", 
     RowBox[{"(*", " ", 
      RowBox[{"Preparations", " ", "done"}], " ", "*)"}], 
     "\[IndentingNewLine]", "\t", 
     RowBox[{"Goto", "[", "\"\<MetricTransformation\>\"", "]"}], ";", 
     "\[IndentingNewLine]", "\[IndentingNewLine]", "\[IndentingNewLine]", 
     RowBox[{"(*", 
      RowBox[{
       RowBox[{"--", " ", "2."}], 
       RowBox[{"E", ".", " ", "Hexagonal"}], " ", "crystal", " ", 
       RowBox[{"family", " ", "--"}]}], "*)"}], "\[IndentingNewLine]", 
     RowBox[{"Label", "[", "\"\<Trigonal\>\"", "]"}], ";", 
     "\[IndentingNewLine]", 
     RowBox[{"Label", "[", "\"\<Hexagonal\>\"", "]"}], ";", 
     "\[IndentingNewLine]", "\[IndentingNewLine]", "\t", 
     RowBox[{"(*", " ", 
      RowBox[{"Checks", " ", "and", " ", "updates"}], " ", "*)"}], 
     "\[IndentingNewLine]", "\t\t", 
     RowBox[{"(*", " ", 
      RowBox[{
       RowBox[{"Reinstate", " ", "'"}], 
       RowBox[{"MultipleCell", "'"}], " ", "label"}], " ", "*)"}], 
     "\[IndentingNewLine]", "\t\t", 
     RowBox[{"If", "[", 
      RowBox[{
       RowBox[{
        RowBox[{"MissingQ", "@", "sourceCell"}], "||", 
        RowBox[{"!", 
         RowBox[{"ValueQ", "@", "sourceCell"}]}]}], ",", 
       "\[IndentingNewLine]", "\t\t", 
       RowBox[{"sourceCell", "=", 
        RowBox[{"sourceSetting", "[", "\"\<MultipleCell\>\"", "]"}]}]}], 
      "]"}], ";", "\[IndentingNewLine]", "\[IndentingNewLine]", "\t\t", 
     RowBox[{"(*", " ", 
      RowBox[{"Check", " ", "rhombohedral", " ", "source", " ", "setting"}], 
      " ", "*)"}], "\[IndentingNewLine]", "\t\t", 
     RowBox[{"If", "[", 
      RowBox[{
       RowBox[{
        RowBox[{"MissingQ", "@", "sourceRS"}], "||", 
        RowBox[{"!", 
         RowBox[{"ValueQ", "@", "sourceRS"}]}]}], ",", "\[IndentingNewLine]", 
       "\t\t", 
       RowBox[{"(*", " ", 
        RowBox[{
        "Assume", " ", "main", " ", "space", " ", "group", " ", "setting"}], 
        " ", "*)"}], "\[IndentingNewLine]", "\t\t", 
       RowBox[{"sourceRS", "=", "\"\<obverse\>\""}]}], "]"}], ";", 
     "\[IndentingNewLine]", "\[IndentingNewLine]", "\t\t", 
     RowBox[{"(*", " ", 
      RowBox[{"Check", " ", "rhombohedral", " ", "target", " ", "setting"}], 
      " ", "*)"}], "\[IndentingNewLine]", "\t\t", 
     RowBox[{"If", "[", 
      RowBox[{
       RowBox[{
        RowBox[{"MissingQ", "@", "targetRS"}], "&&", 
        RowBox[{"MemberQ", "[", 
         RowBox[{"hex3List", ",", "targetCell"}], "]"}]}], ",", 
       RowBox[{"targetRS", "=", "\"\<obverse\>\""}]}], "]"}], ";", 
     "\[IndentingNewLine]", "\t\t", 
     RowBox[{"If", "[", 
      RowBox[{
       RowBox[{
        RowBox[{"!", 
         RowBox[{"MissingQ", "@", "targetRS"}]}], "&&", 
        RowBox[{"targetCell", "===", "\"\<R\>\""}]}], ",", 
       RowBox[{"targetCell", "=", "\"\<R1\>\""}]}], "]"}], ";", 
     "\[IndentingNewLine]", "\[IndentingNewLine]", "\t", 
     RowBox[{"Which", "[", "\[IndentingNewLine]", "\t", 
      RowBox[{"(*", " ", 
       RowBox[{
        RowBox[{"A", ".", " ", "Rhombohedral"}], " ", "space", " ", "group"}],
        " ", "*)"}], "\[IndentingNewLine]", "\t", 
      RowBox[{
       RowBox[{"SubsetQ", "[", 
        RowBox[{
         RowBox[{"{", 
          RowBox[{
          "146", ",", "148", ",", "155", ",", "160", ",", "161", ",", "166", 
           ",", "167"}], "}"}], ",", "\[IndentingNewLine]", "\t", 
         RowBox[{"{", 
          RowBox[{"sourceSGnumber", ",", "targetSGnumber"}], "}"}]}], "]"}], 
       ",", "\[IndentingNewLine]", "\[IndentingNewLine]", "\t\t", 
       RowBox[{"(*", " ", 
        RowBox[{"Check", " ", "target", " ", "command"}], " ", "*)"}], 
       "\[IndentingNewLine]", "\t\t", 
       RowBox[{
        RowBox[{"If", "[", 
         RowBox[{
          RowBox[{"!", 
           RowBox[{"MemberQ", "[", 
            RowBox[{
             RowBox[{"Flatten", "@", 
              RowBox[{"Join", "[", "\[IndentingNewLine]", "\t", 
               RowBox[{"{", 
                RowBox[{
                 RowBox[{"{", "\"\<R\>\"", "}"}], ",", "hex3List", ",", 
                 "monoList"}], "}"}], "]"}]}], ",", "targetCell"}], "]"}]}], 
          ",", "\[IndentingNewLine]", "\t\t", 
          RowBox[{
           RowBox[{"Message", "[", 
            RowBox[{
             RowBox[{"UnitCellTransformation", "::", "invalidSG"}], ",", 
             "\[IndentingNewLine]", "\t\t\t", "targetCell"}], "]"}], ";", 
           RowBox[{"Abort", "[", "]"}]}]}], "]"}], ";", "\[IndentingNewLine]",
         "\[IndentingNewLine]", "\t\t", 
        RowBox[{"Which", "[", "\[IndentingNewLine]", "\t\t", 
         RowBox[{"(*", " ", 
          RowBox[{
           RowBox[{"a", ".", " ", "Rhombohedral"}], " ", "source"}], " ", 
          "*)"}], "\[IndentingNewLine]", "\t\t", 
         RowBox[{
          RowBox[{"sourceCell", "===", "\"\<R\>\""}], ",", 
          "\[IndentingNewLine]", "\t\t", 
          RowBox[{"Which", "[", "\[IndentingNewLine]", "\t\t", 
           RowBox[{"(*", " ", 
            RowBox[{"a", 
             RowBox[{".1", ".", " ", "Rhombohedral"}], " ", "target"}], " ", 
            "*)"}], "\[IndentingNewLine]", "\t\t", 
           RowBox[{
            RowBox[{
             RowBox[{"targetCell", "===", "\"\<R\>\""}], "&&", 
             RowBox[{"MissingQ", "@", "targetRS"}]}], ",", 
            "\[IndentingNewLine]", "\t\t\t", 
            RowBox[{"Goto", "[", "\"\<MatricesDone\>\"", "]"}], ",", 
            "\[IndentingNewLine]", "\[IndentingNewLine]", "\t\t", 
            RowBox[{"(*", " ", 
             RowBox[{"a", 
              RowBox[{".2", ".", " ", "Triple"}], " ", "hexagonal", " ", 
              "target"}], " ", "*)"}], "\[IndentingNewLine]", "\t\t", 
            RowBox[{"MemberQ", "[", 
             RowBox[{"hex3List", ",", "targetCell"}], "]"}], ",", 
            "\[IndentingNewLine]", "\t\t", 
            RowBox[{"P1", "=", 
             RowBox[{
             "$TransformationMatrices", "[", "\[IndentingNewLine]", "\t\t", 
              RowBox[{
              "\"\<Rhombohedral_to_\>\"", "<>", "targetCell", "<>", 
               "\"\<_\>\"", "<>", "targetRS"}], "]"}]}], ",", 
            "\[IndentingNewLine]", "\[IndentingNewLine]", "\t\t", 
            RowBox[{"(*", " ", 
             RowBox[{"a", 
              RowBox[{".3", ".", " ", "Monoclinic"}], " ", "target"}], " ", 
             "*)"}], "\[IndentingNewLine]", "\t\t", "True", ",", 
            "\[IndentingNewLine]", "\t\t", 
            RowBox[{"P1", "=", 
             RowBox[{
             "$TransformationMatrices", "[", "\[IndentingNewLine]", "\t\t", 
              RowBox[{
              "\"\<Rhombohedral_to_Monoclinic_\>\"", "<>", "targetCell"}], 
              "]"}]}]}], "\[IndentingNewLine]", "\t\t", "]"}], ",", 
          "\[IndentingNewLine]", "\[IndentingNewLine]", "\t\t", 
          RowBox[{"(*", " ", 
           RowBox[{
            RowBox[{"b", ".", " ", "Regular"}], " ", "hexagonal", " ", 
            RowBox[{"(", 
             RowBox[{"R1", ",", " ", "R2", ",", " ", "R3"}], ")"}], " ", 
            "source"}], " ", "*)"}], "\[IndentingNewLine]", "\t\t", 
          RowBox[{"MemberQ", "[", 
           RowBox[{"hex3List", ",", "sourceCell"}], "]"}], ",", 
          "\[IndentingNewLine]", "\t\t", 
          RowBox[{"Which", "[", "\[IndentingNewLine]", "\t\t", 
           RowBox[{"(*", " ", 
            RowBox[{"b", 
             RowBox[{".1", ".", " ", "Rhombohedral"}], " ", "target"}], " ", 
            "*)"}], "\[IndentingNewLine]", "\t\t", 
           RowBox[{
            RowBox[{"targetCell", "===", "\"\<R\>\""}], ",", 
            "\[IndentingNewLine]", "\t\t", 
            RowBox[{"P1", "=", 
             RowBox[{"Inverse", "@", 
              RowBox[{
              "$TransformationMatrices", "[", "\[IndentingNewLine]", "\t\t", 
               RowBox[{
               "\"\<Rhombohedral_to_\>\"", "<>", "sourceCell", "<>", 
                "\"\<_\>\"", "<>", "sourceRS"}], "]"}]}]}], ",", 
            "\[IndentingNewLine]", "\[IndentingNewLine]", "\t\t", 
            RowBox[{"(*", " ", 
             RowBox[{"b", 
              RowBox[{".2", ".", " ", "Triple"}], " ", "hexagonal", " ", 
              "target"}], " ", "*)"}], "\[IndentingNewLine]", "\t\t", 
            RowBox[{"MemberQ", "[", 
             RowBox[{"hex3List", ",", "targetCell"}], "]"}], ",", 
            "\[IndentingNewLine]", "\t\t", 
            RowBox[{
             RowBox[{"If", "[", 
              RowBox[{
               RowBox[{
                RowBox[{"sourceCell", "===", "targetCell"}], "&&", 
                RowBox[{"sourceRS", "===", "targetRS"}]}], ",", 
               "\[IndentingNewLine]", "\t\t", 
               RowBox[{"Goto", "[", "\"\<MatricesDone\>\"", "]"}]}], "]"}], 
             ";", "\[IndentingNewLine]", "\t\t", 
             RowBox[{"P1", "=", 
              RowBox[{"Inverse", "@", 
               RowBox[{
               "$TransformationMatrices", "[", "\[IndentingNewLine]", "\t\t", 
                
                RowBox[{
                "\"\<Rhombohedral_to_\>\"", "<>", "sourceCell", "<>", 
                 "\"\<_\>\"", "<>", "sourceRS"}], "]"}]}]}], ";", 
             "\[IndentingNewLine]", "\t\t", 
             RowBox[{"P2", "=", 
              RowBox[{
              "$TransformationMatrices", "[", "\[IndentingNewLine]", "\t\t", 
               RowBox[{
               "\"\<Rhombohedral_to_\>\"", "<>", "targetCell", "<>", 
                "\"\<_\>\"", "<>", "targetRS"}], "]"}]}]}], ",", 
            "\[IndentingNewLine]", "\[IndentingNewLine]", "\t\t", 
            RowBox[{"(*", " ", 
             RowBox[{"b", 
              RowBox[{".3", ".", " ", "Monoclinic"}], " ", "target"}], " ", 
             "*)"}], "\[IndentingNewLine]", "\t\t", "True", ",", 
            "\[IndentingNewLine]", "\t\t", 
            RowBox[{"If", "[", 
             RowBox[{
              RowBox[{
               RowBox[{"sourceCell", "===", "\"\<R1\>\""}], "&&", 
               RowBox[{"sourceRS", "===", "\"\<obverse\>\""}]}], ",", 
              "\[IndentingNewLine]", "\t\t", 
              RowBox[{"P1", "=", 
               RowBox[{
               "$TransformationMatrices", "[", "\[IndentingNewLine]", "\t\t", 
                
                RowBox[{
                "\"\<TripleHexagonal_to_Monoclinic_\>\"", "<>", 
                 "targetCell"}], "]"}]}], ",", "\[IndentingNewLine]", "\t\t", 
              
              RowBox[{
               RowBox[{"P1", "=", 
                RowBox[{"Inverse", "@", 
                 RowBox[{
                 "$TransformationMatrices", "[", "\[IndentingNewLine]", 
                  "\t\t", 
                  RowBox[{"\"\<Rhombohedral_to_\>\"", 
                   RowBox[{
                   "sourceCell", "<>", "\"\<_\>\"", "<>", "sourceRS"}]}], 
                  "]"}]}]}], ";", "\[IndentingNewLine]", "\t\t", 
               RowBox[{"P2", "=", 
                RowBox[{
                "$TransformationMatrices", "[", "\[IndentingNewLine]", "\t\t", 
                 RowBox[{
                 "\"\<Rhombohedral_to_Monoclinic_\>\"", "<>", "targetCell"}], 
                 "]"}]}]}]}], "]"}]}], "\[IndentingNewLine]", "\t\t", "]"}], 
          ",", "\[IndentingNewLine]", "\[IndentingNewLine]", 
          "\[IndentingNewLine]", "\t\t", 
          RowBox[{"(*", " ", 
           RowBox[{
            RowBox[{"c", ".", " ", "Monoclinic"}], " ", "source"}], " ", 
           "*)"}], "\[IndentingNewLine]", "\t\t", 
          RowBox[{"MemberQ", "[", 
           RowBox[{"monoList", ",", "sourceCell"}], "]"}], ",", 
          "\[IndentingNewLine]", "\t\t", 
          RowBox[{"Which", "[", "\[IndentingNewLine]", "\t\t", 
           RowBox[{"(*", " ", 
            RowBox[{"c", 
             RowBox[{".1", ".", " ", "Rhombohedral"}], " ", "target"}], " ", 
            "*)"}], "\[IndentingNewLine]", "\t\t", 
           RowBox[{
            RowBox[{"targetCell", "===", "\"\<R\>\""}], ",", 
            "\[IndentingNewLine]", "\t\t", 
            RowBox[{"P1", "=", 
             RowBox[{"Inverse", "@", 
              RowBox[{
              "$TransformationMatrices", "[", "\[IndentingNewLine]", "\t\t", 
               RowBox[{
               "\"\<Rhombohedral_to_Monoclinic_\>\"", "<>", "sourceCell"}], 
               "]"}]}]}], ",", "\[IndentingNewLine]", "\[IndentingNewLine]", 
            "\t\t", 
            RowBox[{"(*", " ", 
             RowBox[{"c", 
              RowBox[{".2", ".", " ", "Regular"}], " ", "hexagonal", " ", 
              RowBox[{"(", 
               RowBox[{"R1", ",", " ", "R2", ",", " ", "R3"}], ")"}], "l", 
              " ", "target"}], " ", "*)"}], "\[IndentingNewLine]", "\t\t", 
            RowBox[{"MemberQ", "[", 
             RowBox[{"hex3List", ",", "targetCell"}], "]"}], ",", 
            "\[IndentingNewLine]", "\t\t", 
            RowBox[{
             RowBox[{"P1", "=", 
              RowBox[{"Inverse", "@", 
               RowBox[{
               "$TransformationMatrices", "[", "\[IndentingNewLine]", "\t\t", 
                
                RowBox[{
                "\"\<Rhombohedral_to_Monoclinic_\>\"", "<>", "sourceCell"}], 
                "]"}]}]}], ";", "\[IndentingNewLine]", "\t\t", 
             RowBox[{"P2", "=", 
              RowBox[{
              "$TransformationMatrices", "[", "\[IndentingNewLine]", "\t\t", 
               RowBox[{
               "\"\<Rhombohedral_to_\>\"", "<>", "targetCell", "<>", 
                "\"\<_\>\"", "<>", "targetRS"}], "]"}]}]}], ",", 
            "\[IndentingNewLine]", "\[IndentingNewLine]", "\t\t", 
            RowBox[{"(*", " ", 
             RowBox[{"c", 
              RowBox[{".3", ".", " ", "Monoclinic"}], " ", "target"}], " ", 
             "*)"}], "\[IndentingNewLine]", "\t\t", "True", ",", 
            "\[IndentingNewLine]", "\t\t", 
            RowBox[{
             RowBox[{"If", "[", 
              RowBox[{
               RowBox[{"sourceCell", "===", "targetCell"}], ",", 
               RowBox[{"Goto", "[", "\"\<MatricesDone\>\"", "]"}]}], "]"}], 
             ";", "\[IndentingNewLine]", "\t\t", 
             RowBox[{"P1", "=", 
              RowBox[{"Inverse", "@", 
               RowBox[{
               "$TransformationMatrices", "[", "\[IndentingNewLine]", "\t\t", 
                
                RowBox[{
                "\"\<Rhombohedral_to_Monoclinic_\>\"", "<>", "sourceCell"}], 
                "]"}]}]}], ";", "\[IndentingNewLine]", "\t\t", 
             RowBox[{"P2", "=", 
              RowBox[{
              "$TransformationMatrices", "[", "\[IndentingNewLine]", "\t\t", 
               RowBox[{
               "\"\<Rhombohedral_to_Monoclinic_\>\"", "<>", "targetCell"}], 
               "]"}]}]}]}], "\[IndentingNewLine]", "\t\t", "]"}]}], 
         "\[IndentingNewLine]", "\t\t", "]"}]}], ",", "\[IndentingNewLine]", 
       "\t", "\[IndentingNewLine]", "\[IndentingNewLine]", "\t", 
       RowBox[{"(*", " ", 
        RowBox[{
         RowBox[{"B", ".", " ", "Transformation"}], " ", "of", " ", "the", 
         " ", "hexagonal", " ", "lattice"}], " ", "*)"}], 
       "\[IndentingNewLine]", "\t", "True", ",", "\[IndentingNewLine]", "\t", 
       "\[IndentingNewLine]", "\t", 
       RowBox[{"(*", " ", 
        RowBox[{"Check", " ", "if", " ", "target", " ", "is", " ", "valid"}], 
        " ", "*)"}], "\[IndentingNewLine]", "\t", 
       RowBox[{
        RowBox[{"If", "[", 
         RowBox[{
          RowBox[{"!", 
           RowBox[{"MemberQ", "[", 
            RowBox[{
             RowBox[{"Flatten", "@", 
              RowBox[{"Join", "[", "\[IndentingNewLine]", "\t", 
               RowBox[{"{", 
                RowBox[{
                 RowBox[{"{", "\"\<P\>\"", "}"}], ",", "hexList", ",", 
                 "monoList"}], "}"}], "]"}]}], ",", "targetCell"}], "]"}]}], 
          ",", "\[IndentingNewLine]", "\t\t", 
          RowBox[{
           RowBox[{"Message", "[", 
            RowBox[{
             RowBox[{"UnitCellTransformation", "::", "invalidSG"}], ",", 
             "\[IndentingNewLine]", "\t\t\t", "targetCell"}], "]"}], ";", 
           RowBox[{"Abort", "[", "]"}]}]}], "]"}], ";", "\[IndentingNewLine]",
         "\[IndentingNewLine]", "\t", 
        RowBox[{"M", "=", 
         RowBox[{"Flatten", "@", 
          RowBox[{"DeleteCases", "[", "\[IndentingNewLine]", "\t", 
           RowBox[{
            RowBox[{"StringCases", "[", 
             RowBox[{
              RowBox[{"Keys", "@", "$TransformationMatrices"}], ",", 
              "\[IndentingNewLine]", "\t", 
              RowBox[{
              "StartOfString", "~~", "\"\<Hexagonal\>\"", "~~", "__"}]}], 
             "]"}], ",", 
            RowBox[{"{", "}"}]}], "]"}]}]}], ";", "\[IndentingNewLine]", 
        "\[IndentingNewLine]", "\t", 
        RowBox[{"If", "[", 
         RowBox[{
          RowBox[{"MissingQ", "@", "sourceCell"}], ",", 
          RowBox[{"sourceCell", "=", "\"\<P\>\""}]}], "]"}], ";", 
        "\[IndentingNewLine]", "\[IndentingNewLine]", "\t\t", 
        RowBox[{"Which", "[", "\[IndentingNewLine]", "\t\t", 
         RowBox[{"(*", " ", 
          RowBox[{
           RowBox[{"a", ".", " ", "Primitive"}], " ", "hexagonal", " ", 
           "source"}], " ", "*)"}], "\[IndentingNewLine]", "\t\t", 
         RowBox[{
          RowBox[{"sourceCell", "===", "\"\<P\>\""}], ",", 
          "\[IndentingNewLine]", "\t\t", 
          RowBox[{"Which", "[", "\[IndentingNewLine]", "\t\t", 
           RowBox[{"(*", " ", 
            RowBox[{"a", 
             RowBox[{".1", ".", " ", "No"}], " ", "change"}], " ", "*)"}], 
           "\[IndentingNewLine]", "\t\t", 
           RowBox[{
            RowBox[{"targetCell", "===", "\"\<P\>\""}], ",", 
            RowBox[{"Goto", "[", "\"\<MatricesDone\>\"", "]"}], ",", 
            "\[IndentingNewLine]", "\t\t", 
            RowBox[{"(*", " ", 
             RowBox[{"a", 
              RowBox[{".2", ".", " ", "Special"}], " ", "hexagonal", " ", 
              "target"}], " ", "*)"}], "\[IndentingNewLine]", "\t\t", 
            RowBox[{"MemberQ", "[", 
             RowBox[{"hexList", ",", "targetCell"}], "]"}], ",", 
            "\[IndentingNewLine]", "\t\t", 
            RowBox[{
             RowBox[{"temp", "=", 
              RowBox[{"Select", "[", 
               RowBox[{"M", ",", 
                RowBox[{
                 RowBox[{"StringContainsQ", "[", 
                  RowBox[{"#", ",", "targetCell"}], "]"}], "&"}]}], "]"}]}], 
             ";", "\[IndentingNewLine]", "\t\t", 
             RowBox[{"P1", "=", 
              RowBox[{"$TransformationMatrices", "@@", "temp"}]}]}]}], 
           "\[IndentingNewLine]", "\t\t", "]"}], ",", "\[IndentingNewLine]", 
          "\[IndentingNewLine]", "\t\t", 
          RowBox[{"(*", " ", 
           RowBox[{
            RowBox[{"b", ".", " ", "Special"}], " ", "hexagonal", " ", 
            "source"}], " ", "*)"}], "\[IndentingNewLine]", "\t\t", 
          RowBox[{"MemberQ", "[", 
           RowBox[{"hexList", ",", "sourceCell"}], "]"}], ",", 
          "\[IndentingNewLine]", "\t\t", 
          RowBox[{"Which", "[", "\[IndentingNewLine]", "\t\t", 
           RowBox[{"(*", " ", 
            RowBox[{"b", 
             RowBox[{".1", ".", " ", "To"}], " ", "primitive", " ", 
             "hexagonal", " ", "cell"}], " ", "*)"}], "\[IndentingNewLine]", 
           "\t\t", 
           RowBox[{
            RowBox[{"targetCell", "===", "\"\<P\>\""}], ",", 
            "\[IndentingNewLine]", "\t\t", 
            RowBox[{
             RowBox[{"temp", "=", 
              RowBox[{"Select", "[", 
               RowBox[{"M", ",", 
                RowBox[{
                 RowBox[{"StringContainsQ", "[", 
                  RowBox[{"#", ",", "targetCell"}], "]"}], "&"}]}], "]"}]}], 
             ";", "\[IndentingNewLine]", "\t\t", 
             RowBox[{"P1", "=", 
              RowBox[{
               RowBox[{"Inverse", "@", "$TransformationMatrices"}], "@@", 
               "temp"}]}]}], ",", "\[IndentingNewLine]", 
            "\[IndentingNewLine]", "\t\t", 
            RowBox[{"(*", " ", 
             RowBox[{"b", 
              RowBox[{".2", ".", " ", "To"}], " ", "special", " ", 
              "hexagonal", " ", "target"}], " ", "*)"}], 
            "\[IndentingNewLine]", "\t\t", 
            RowBox[{"MemberQ", "[", 
             RowBox[{"hexList", ",", "targetCell"}], "]"}], ",", 
            "\[IndentingNewLine]", "\t\t", 
            RowBox[{
             RowBox[{"If", "[", 
              RowBox[{
               RowBox[{"sourceCell", "===", "targetCell"}], ",", 
               RowBox[{"Goto", "[", "\"\<MatricesDone\>\"", "]"}]}], "]"}], 
             ";", "\[IndentingNewLine]", "\t\t", 
             RowBox[{"temp", "=", 
              RowBox[{"Select", "[", 
               RowBox[{"M", ",", 
                RowBox[{
                 RowBox[{"StringContainsQ", "[", 
                  RowBox[{"#", ",", "sourceCell"}], "]"}], "&"}]}], "]"}]}], 
             ";", "\[IndentingNewLine]", "\t\t", 
             RowBox[{"P1", "=", 
              RowBox[{"Inverse", "[", 
               RowBox[{"$TransformationMatrices", "@@", "temp"}], "]"}]}], 
             ";", "\[IndentingNewLine]", "\t\t", 
             RowBox[{"temp", "=", 
              RowBox[{"Select", "[", 
               RowBox[{"M", ",", 
                RowBox[{
                 RowBox[{"StringContainsQ", "[", 
                  RowBox[{"#", ",", "targetCell"}], "]"}], "&"}]}], "]"}]}], 
             ";", "\[IndentingNewLine]", "\t\t", 
             RowBox[{"P2", "=", 
              RowBox[{"$TransformationMatrices", "@@", "temp"}]}]}]}], 
           "\[IndentingNewLine]", "\t\t", "]"}]}], "\[IndentingNewLine]", 
         "\t\t", "]"}]}]}], "\[IndentingNewLine]", "\t", "]"}], ";", 
     "\[IndentingNewLine]", "\t", 
     RowBox[{"Label", "[", "\"\<MatricesDone\>\"", "]"}], ";", 
     "\[IndentingNewLine]", "\[IndentingNewLine]", "\t", 
     RowBox[{"(*", " ", 
      RowBox[{"Preparations", " ", "done"}], " ", "*)"}], 
     "\[IndentingNewLine]", "\t", 
     RowBox[{"Goto", "[", "\"\<MetricTransformation\>\"", "]"}], ";", 
     "\[IndentingNewLine]", "\[IndentingNewLine]", "\[IndentingNewLine]", 
     RowBox[{"(*", 
      RowBox[{
       RowBox[{"--", " ", "2."}], 
       RowBox[{"F", ".", " ", 
        RowBox[{"Cubic", " ", "--"}]}]}], "*)"}], "\[IndentingNewLine]", 
     RowBox[{"Label", "[", "\"\<Cubic\>\"", "]"}], ";", "\[IndentingNewLine]",
      "\[IndentingNewLine]", "\t", 
     RowBox[{"(*", " ", 
      RowBox[{
       RowBox[{"i", ".", " ", "'"}], 
       RowBox[{"CellCentring", "'"}]}], " ", "*)"}], " ", 
     "\[IndentingNewLine]", "\t", "procedureCellCentring", ";", 
     "\[IndentingNewLine]", "\[IndentingNewLine]", "\t", 
     RowBox[{"(*", " ", 
      RowBox[{
       RowBox[{"ii", ".", " ", "'"}], 
       RowBox[{"CellOrigin", "'"}]}], " ", "*)"}], "\[IndentingNewLine]", 
     "\t", "procedureCellOrigin", ";", "\[IndentingNewLine]", 
     "\[IndentingNewLine]", "\t", 
     RowBox[{"(*", " ", 
      RowBox[{"Preparations", " ", "done"}], " ", "*)"}], 
     "\[IndentingNewLine]", "\t", 
     RowBox[{"Goto", "[", "\"\<MetricTransformation\>\"", "]"}], ";", 
     "\[IndentingNewLine]", "\[IndentingNewLine]", "\[IndentingNewLine]", 
     RowBox[{"(*", 
      RowBox[{
       RowBox[{"--", "-"}], "*", " ", "3.", " ", "Carrying", " ", "out", " ", 
       "transformations", " ", "*", 
       RowBox[{"--", "-"}]}], "*)"}], "\[IndentingNewLine]", 
     RowBox[{"(*", " ", 
      RowBox[{"3.", 
       RowBox[{"A", ".", " ", "Preparations"}]}], " ", "*)"}], 
     "\[IndentingNewLine]", 
     RowBox[{"Label", "[", "\"\<MetricTransformation\>\"", "]"}], ";", 
     "\[IndentingNewLine]", "\t", 
     RowBox[{"P", "=", 
      RowBox[{"P1", ".", "P2"}]}], ";", "\[IndentingNewLine]", "\t\t", 
     RowBox[{"If", "[", 
      RowBox[{
       RowBox[{"returnP", "===", "All"}], ",", 
       RowBox[{"Return", "@", 
        RowBox[{"{", 
         RowBox[{"P1", ",", "P2"}], "}"}]}]}], "]"}], ";", 
     "\[IndentingNewLine]", "\t\t", 
     RowBox[{"If", "[", 
      RowBox[{"returnP", ",", 
       RowBox[{"Return", "@", "P"}]}], "]"}], ";", "\[IndentingNewLine]", 
     "\t", 
     RowBox[{"Q", "=", 
      RowBox[{"Inverse", "@", "P"}]}], ";", "\[IndentingNewLine]", "\t", 
     RowBox[{"q", "=", 
      RowBox[{"-", 
       RowBox[{"Q", ".", "p"}]}]}], ";", "\[IndentingNewLine]", "\t", 
     RowBox[{"G", "=", 
      RowBox[{
       RowBox[{"Transpose", "[", "P", "]"}], ".", "G", ".", "P"}]}], ";", 
     "\[IndentingNewLine]", "\[IndentingNewLine]", "\t", 
     RowBox[{"newlattice", "=", 
      RowBox[{"Association", "@", 
       RowBox[{"Thread", "[", "\[IndentingNewLine]", 
        RowBox[{
         RowBox[{"{", 
          RowBox[{
          "\"\<a\>\"", ",", "\"\<b\>\"", ",", "\"\<c\>\"", ",", 
           "\"\<\[Alpha]\>\"", ",", "\"\<\[Beta]\>\"", ",", 
           "\"\<\[Gamma]\>\""}], "}"}], "\[IndentingNewLine]", "\[Rule]", 
         RowBox[{"GetLatticeParameters", "[", 
          RowBox[{"G", ",", 
           RowBox[{"\"\<Units\>\"", "\[Rule]", "True"}]}], "]"}]}], "]"}]}]}],
      ";", "\[IndentingNewLine]", "\[IndentingNewLine]", 
     RowBox[{"(*", " ", 
      RowBox[{"3.", 
       RowBox[{"B", ".", " ", "Transforming"}], " ", "coordinates", " ", 
       "and", " ", "ADPs"}], " ", "*)"}], "\[IndentingNewLine]", "\t", 
     RowBox[{"(*", " ", 
      RowBox[{"Fractional", " ", "coordinates"}], " ", "*)"}], 
     "\[IndentingNewLine]", "\t", 
     RowBox[{"xyz", "=", 
      RowBox[{"$CrystalData", "\[LeftDoubleBracket]", 
       RowBox[{
       "crystal", ",", "\[IndentingNewLine]", "\t", "\"\<AtomData\>\"", ",", 
        "All", ",", "\"\<FractionalCoordinates\>\""}], 
       "\[RightDoubleBracket]"}]}], ";", "\[IndentingNewLine]", "\t", 
     RowBox[{"newxyz", "=", 
      RowBox[{"Chop", "[", 
       RowBox[{
        RowBox[{
         RowBox[{"FractionalPart", "[", 
          RowBox[{
           RowBox[{"Dot", "[", 
            RowBox[{"Q", ",", "#"}], "]"}], "+", "q"}], "]"}], "&"}], "/@", 
        "xyz"}], "]"}]}], ";", "\[IndentingNewLine]", "\[IndentingNewLine]", 
     "\t", 
     RowBox[{"(*", " ", 
      RowBox[{"Atomic", " ", "displacement", " ", "parameters"}], " ", "*)"}],
      "\[IndentingNewLine]", "\t", 
     RowBox[{"adps", "=", 
      RowBox[{"Lookup", "[", 
       RowBox[{
        RowBox[{"$CrystalData", "[", 
         RowBox[{"crystal", ",", "\"\<AtomData\>\""}], "]"}], ",", 
        "\[IndentingNewLine]", "\t", "\"\<DisplacementParameters\>\"", ",", 
        "0."}], "]"}]}], ";", "\[IndentingNewLine]", "\t", 
     RowBox[{"U", "=", 
      RowBox[{
       RowBox[{
        RowBox[{
         RowBox[{
          RowBox[{"{", 
           RowBox[{
            RowBox[{"{", 
             RowBox[{"#1", ",", "#4", ",", "#5"}], "}"}], ",", 
            RowBox[{"{", 
             RowBox[{"#4", ",", "#2", ",", "#6"}], "}"}], ",", 
            RowBox[{"{", 
             RowBox[{"#5", ",", "#6", ",", "#3"}], "}"}]}], "}"}], "&"}], "@@",
          "#"}], "&"}], "/@", "adps"}]}], ";", "\[IndentingNewLine]", 
     "\[IndentingNewLine]", "\t", 
     RowBox[{"(*", " ", 
      RowBox[{"Preparing", " ", 
       RowBox[{"diagonal", " ", "'"}], 
       RowBox[{"N", "'"}], " ", "matrices"}], " ", "*)"}], 
     "\[IndentingNewLine]", "\t", 
     RowBox[{"(*", " ", 
      RowBox[{
       RowBox[{
        RowBox[{
        "References", ":", "\[IndentingNewLine]", "\t", "https", ":"}], "//", 
        
        RowBox[{
         RowBox[{
          RowBox[{
           RowBox[{"doi", ".", "org"}], "/", "10.1107"}], "/", 
          "S0108767311018216"}], "\[IndentingNewLine]", "\t", 
         RowBox[{"https", ":"}]}]}], "//", 
       RowBox[{
        RowBox[{
         RowBox[{"doi", ".", "org"}], "/", "10.1107"}], "/", 
        "S0021889802008580"}]}], " ", "*)"}], "\[IndentingNewLine]", "\t", 
     RowBox[{"n0", "=", 
      RowBox[{"DiagonalMatrix", "@", 
       RowBox[{"Sqrt", "@", 
        RowBox[{"Diagonal", "@", 
         RowBox[{"Inverse", "@", "G0"}]}]}]}]}], ";", "\[IndentingNewLine]", 
     "\t", 
     RowBox[{"n", "=", 
      RowBox[{"Inverse", "@", 
       RowBox[{"DiagonalMatrix", "@", 
        RowBox[{"Sqrt", "@", 
         RowBox[{"Diagonal", "@", 
          RowBox[{"Inverse", "@", "G"}]}]}]}]}]}], ";", "\[IndentingNewLine]",
      "\[IndentingNewLine]", "\t", 
     RowBox[{"(*", " ", 
      RowBox[{"Transforming", " ", "ADPs"}], " ", "*)"}], 
     "\[IndentingNewLine]", "\t", 
     RowBox[{"newU", "=", 
      RowBox[{"{", "}"}]}], ";", "\[IndentingNewLine]", "\t", 
     RowBox[{"Do", "[", "\[IndentingNewLine]", "\t", 
      RowBox[{
       RowBox[{
        RowBox[{"u", "=", 
         RowBox[{
         "U", "\[LeftDoubleBracket]", "i", "\[RightDoubleBracket]"}]}], ";", 
        "\[IndentingNewLine]", "\t", 
        RowBox[{"If", "[", 
         RowBox[{
          RowBox[{"MatrixQ", "[", "u", "]"}], ",", "\[IndentingNewLine]", 
          "\t", 
          RowBox[{
           RowBox[{"temp", "=", 
            RowBox[{"n0", ".", "u", ".", 
             RowBox[{"Transpose", "[", "n0", "]"}]}]}], ";", 
           "\[IndentingNewLine]", "\t", 
           RowBox[{"temp", "=", 
            RowBox[{"Q", ".", "temp", ".", 
             RowBox[{"Transpose", "[", "Q", "]"}]}]}], ";", 
           "\[IndentingNewLine]", "\t", 
           RowBox[{"temp", "=", 
            RowBox[{"Chop", "[", 
             RowBox[{"n", ".", "temp", ".", 
              RowBox[{"Transpose", "[", "n", "]"}]}], "]"}]}], ";", 
           "\[IndentingNewLine]", "\t", 
           RowBox[{"temp", "=", 
            RowBox[{
             RowBox[{
              RowBox[{"Part", "[", 
               RowBox[{"temp", ",", 
                RowBox[{"#", "/.", 
                 RowBox[{"List", "\[Rule]", "Sequence"}]}]}], "]"}], "&"}], "/@",
              "\[IndentingNewLine]", "\t", 
             RowBox[{"{", 
              RowBox[{
               RowBox[{"{", 
                RowBox[{"1", ",", "1"}], "}"}], ",", 
               RowBox[{"{", 
                RowBox[{"2", ",", "2"}], "}"}], ",", 
               RowBox[{"{", 
                RowBox[{"3", ",", "3"}], "}"}], ",", 
               RowBox[{"{", 
                RowBox[{"1", ",", "2"}], "}"}], ",", 
               RowBox[{"{", 
                RowBox[{"1", ",", "3"}], "}"}], ",", 
               RowBox[{"{", 
                RowBox[{"2", ",", "3"}], "}"}]}], "}"}]}]}]}], ",", 
          "\[IndentingNewLine]", "\t", 
          RowBox[{"temp", "=", "u"}]}], "]"}], ";", "\[IndentingNewLine]", 
        "\t", 
        RowBox[{"AppendTo", "[", 
         RowBox[{"newU", ",", "temp"}], "]"}]}], ",", "\[IndentingNewLine]", 
       "\t", 
       RowBox[{"{", 
        RowBox[{"i", ",", 
         RowBox[{"Length", "@", "adps"}]}], "}"}]}], "\[IndentingNewLine]", 
      "\t", "]"}], ";", "\[IndentingNewLine]", "\[IndentingNewLine]", 
     "\[IndentingNewLine]", 
     RowBox[{"(*", 
      RowBox[{
       RowBox[{"--", "-"}], "*", " ", "4.", " ", "Overwriting", " ", "entry", 
       " ", "in", " ", "$CrystalData", " ", "*", 
       RowBox[{"--", "-"}]}], "*)"}], "\[IndentingNewLine]", "\t", 
     RowBox[{"(*", " ", 
      RowBox[{
      "Determine", " ", "new", " ", "space", " ", "group", " ", "symbol", " ",
        "automatically"}], " ", "*)"}], "\[IndentingNewLine]", "\t\t", 
     RowBox[{"(*", " ", 
      RowBox[{"Remove", " ", "old", " ", "cell", " ", "tag"}], " ", "*)"}], 
     "\[IndentingNewLine]", "\t\t", 
     RowBox[{"If", "[", 
      RowBox[{
       RowBox[{
        RowBox[{"StringTake", "[", 
         RowBox[{"targetSG", ",", 
          RowBox[{"{", 
           RowBox[{"-", "2"}], "}"}]}], "]"}], "===", "\"\<:\>\""}], ",", 
       "\[IndentingNewLine]", "\t\t", 
       RowBox[{"targetSG", "=", 
        RowBox[{"StringTake", "[", 
         RowBox[{"targetSG", ",", 
          RowBox[{"{", 
           RowBox[{"1", ",", 
            RowBox[{"-", "3"}]}], "}"}]}], "]"}]}]}], "]"}], ";", 
     "\[IndentingNewLine]", "\[IndentingNewLine]", "\t\t", 
     RowBox[{"(*", " ", 
      RowBox[{"Update", " ", "space", " ", "group", " ", "symbol"}], " ", 
      "*)"}], "\[IndentingNewLine]", "\t\t", 
     RowBox[{"If", "[", 
      RowBox[{
       RowBox[{
        RowBox[{"(", 
         RowBox[{
          RowBox[{"targetO", "===", "2"}], "||", 
          RowBox[{
           RowBox[{"targetSetting", "[", "\"\<CellOrigin\>\"", "]"}], "===", 
           "2"}]}], ")"}], "&&", "\[IndentingNewLine]", "\t\t", 
        RowBox[{"!", 
         RowBox[{"StringContainsQ", "[", 
          RowBox[{"targetSG", ",", "\"\<:2\>\""}], "]"}]}]}], ",", 
       "\[IndentingNewLine]", "\t\t", 
       RowBox[{"targetSG", "=", 
        RowBox[{"targetSG", "<>", "\"\<:2\>\""}]}]}], "]"}], ";", 
     "\[IndentingNewLine]", "\[IndentingNewLine]", "\t\t", 
     RowBox[{"(*", " ", 
      RowBox[{
       RowBox[{"Get", " ", "full", " ", "Hermann"}], "\[Dash]", 
       RowBox[{"Mauguin", " ", "symbol"}]}], " ", "*)"}], 
     "\[IndentingNewLine]", "\t\t", 
     RowBox[{"targetFullHM", "=", 
      RowBox[{"GetSymmetryData", "[", 
       RowBox[{"targetSG", ",", "\"\<HermannMauguinFull\>\""}], "]"}]}], ";", 
     "\[IndentingNewLine]", "\[IndentingNewLine]", "\t\t", 
     RowBox[{"(*", " ", 
      RowBox[{"Set", " ", "new", " ", "symbol"}], " ", "*)"}], 
     "\[IndentingNewLine]", "\t\t", 
     RowBox[{
      RowBox[{"$CrystalData", "[", 
       RowBox[{"crystal", ",", "\"\<SpaceGroup\>\""}], "]"}], "=", 
      "targetSG"}], ";", "\[IndentingNewLine]", "\[IndentingNewLine]", "\t", 
     RowBox[{"(*", " ", 
      RowBox[{"New", " ", "lattice", " ", "parameters"}], " ", "*)"}], 
     "\[IndentingNewLine]", "\t", 
     RowBox[{"AppendTo", "[", 
      RowBox[{
       RowBox[{"$CrystalData", "[", 
        RowBox[{
        "crystal", ",", "\[IndentingNewLine]", "\t", 
         "\"\<LatticeParameters\>\""}], "]"}], ",", "newlattice"}], "]"}], 
     ";", "\[IndentingNewLine]", "\[IndentingNewLine]", "\t", 
     RowBox[{"(*", " ", 
      RowBox[{"New", " ", "fractional", " ", "coordinates"}], " ", "*)"}], 
     "\[IndentingNewLine]", "\t", 
     RowBox[{
      RowBox[{"$CrystalData", "\[LeftDoubleBracket]", 
       RowBox[{
       "crystal", ",", "\"\<AtomData\>\"", ",", "All", ",", 
        "\[IndentingNewLine]", "\t", "\"\<FractionalCoordinates\>\""}], 
       "\[RightDoubleBracket]"}], "=", "newxyz"}], ";", "\[IndentingNewLine]",
      "\[IndentingNewLine]", "\t", 
     RowBox[{"(*", " ", 
      RowBox[{"New", " ", "ADPs"}], " ", "*)"}], "\[IndentingNewLine]", "\t", 
     
     RowBox[{"If", "[", 
      RowBox[{
       RowBox[{"!", 
        RowBox[{"AllTrue", "[", 
         RowBox[{
          RowBox[{"N", "@", "newU"}], ",", 
          RowBox[{
           RowBox[{"#", "\[Equal]", "0."}], "&"}]}], "]"}]}], ",", 
       "\[IndentingNewLine]", "\t", 
       RowBox[{
        RowBox[{"$CrystalData", "\[LeftDoubleBracket]", 
         RowBox[{
         "crystal", ",", "\"\<AtomData\>\"", ",", "All", ",", 
          "\[IndentingNewLine]", "\t", "\"\<DisplacementParameters\>\""}], 
         "\[RightDoubleBracket]"}], "=", "newU"}]}], "]"}], ";", 
     "\[IndentingNewLine]", "\[IndentingNewLine]", "\t", 
     RowBox[{"(*", " ", 
      RowBox[{
       RowBox[{"Updating", " ", "'"}], 
       RowBox[{"Notes", "'"}], " ", "and", " ", "adding", " ", "space", " ", 
       "group", " ", "notes", " ", "if", " ", "needed"}], " ", "*)"}], 
     "\[IndentingNewLine]", "\t", 
     RowBox[{"If", "[", "\[IndentingNewLine]", "\t", 
      RowBox[{"(*", " ", 
       RowBox[{"a", ".", " ", 
        RowBox[{"Exception", ":", " ", 
         RowBox[{"default", " ", "space", " ", "group", " ", "setting"}]}]}], 
       " ", "*)"}], "\[IndentingNewLine]", "\t", 
      RowBox[{
       RowBox[{
        RowBox[{"Sort", "@", 
         RowBox[{"Values", "@", 
          RowBox[{"SG", "[", "\"\<Setting\>\"", "]"}]}]}], "===", 
        "\[IndentingNewLine]", "\t", 
        RowBox[{"Sort", "@", 
         RowBox[{"DeleteMissing", "@", 
          RowBox[{"{", 
           RowBox[{"targetCell", ",", "targetRS", ",", "targetCentring"}], 
           "}"}]}]}]}], ",", "\[IndentingNewLine]", "\t", 
       RowBox[{"KeyDropFrom", "[", 
        RowBox[{"notes", ",", 
         RowBox[{"{", 
          RowBox[{
          "\"\<MultipleCell\>\"", ",", "\"\<RhombohedralSetting\>\"", ",", 
           "\"\<CellCentring\>\""}], "}"}]}], "]"}], ",", 
       "\[IndentingNewLine]", "\[IndentingNewLine]", "\[IndentingNewLine]", 
       "\t", 
       RowBox[{"(*", " ", 
        RowBox[{
         RowBox[{"b", ".", " ", "Write"}], " ", "both", " ", "multiple", " ", 
         "cell", " ", "and", " ", "rhombohedral", " ", "setting"}], " ", 
        "*)"}], "\[IndentingNewLine]", "\t", 
       RowBox[{
        RowBox[{"If", "[", 
         RowBox[{
          RowBox[{
           RowBox[{"KeyExistsQ", "[", 
            RowBox[{"targetSetting", ",", "\"\<MultipleCell\>\""}], "]"}], "&&",
            "\[IndentingNewLine]", "\t", 
           RowBox[{"!", 
            RowBox[{"MemberQ", "[", 
             RowBox[{
              RowBox[{"{", 
               RowBox[{"\"\<P\>\"", ",", "\"\<I\>\""}], "}"}], ",", 
              "targetCell"}], "]"}]}]}], ",", "\[IndentingNewLine]", "\t", 
          RowBox[{"AppendTo", "[", 
           RowBox[{"notes", ",", 
            RowBox[{"\"\<MultipleCell\>\"", "\[Rule]", "targetCell"}]}], 
           "]"}]}], "]"}], ";", "\[IndentingNewLine]", "\t", 
        "\[IndentingNewLine]", "\t", 
        RowBox[{"If", "[", 
         RowBox[{
          RowBox[{"MemberQ", "[", 
           RowBox[{"hex3List", ",", "targetCell"}], "]"}], ",", 
          "\[IndentingNewLine]", "\t", 
          RowBox[{"AppendTo", "[", 
           RowBox[{"notes", ",", 
            RowBox[{"\"\<RhombohedralSetting\>\"", "\[Rule]", "targetRS"}]}], 
           "]"}], ",", "\[IndentingNewLine]", "\t", 
          RowBox[{"KeyDropFrom", "[", 
           RowBox[{"notes", ",", "\"\<RhombohedralSetting\>\""}], "]"}]}], 
         "]"}], ";", "\[IndentingNewLine]", "\[IndentingNewLine]", "\t", 
        RowBox[{"If", "[", 
         RowBox[{
          RowBox[{
           RowBox[{"!", 
            RowBox[{"MissingQ", "@", "targetCentring"}]}], "&&", 
           RowBox[{"ValueQ", "@", "targetCentring"}], "&&", 
           "\[IndentingNewLine]", "\t", 
           RowBox[{"(*", " ", 
            RowBox[{
            "No", " ", "need", " ", "if", " ", "centring", " ", "is", " ", 
             "in", " ", "space", " ", "group", " ", "symbol"}], " ", "*)"}], 
           "\[IndentingNewLine]", "\t", 
           RowBox[{
            RowBox[{"StringTake", "[", 
             RowBox[{"targetFullHM", ",", "1"}], "]"}], "\[NotEqual]", 
            "targetCentring"}]}], ",", "\[IndentingNewLine]", "\t", 
          RowBox[{"AppendTo", "[", 
           RowBox[{"notes", ",", 
            RowBox[{"\"\<CellCentring\>\"", "\[Rule]", "targetCentring"}]}], 
           "]"}]}], "]"}]}]}], "\[IndentingNewLine]", "\t", "]"}], ";", 
     "\[IndentingNewLine]", "\[IndentingNewLine]", "\t", 
     RowBox[{"(*", " ", 
      RowBox[{"Writing", " ", 
       RowBox[{"over", " ", "'"}], 
       RowBox[{"Notes", "'"}], " ", "or", " ", "removing", " ", "if", " ", 
       "empty"}], " ", "*)"}], "\[IndentingNewLine]", "\t", 
     RowBox[{"If", "[", 
      RowBox[{
       RowBox[{"notes", "=!=", 
        RowBox[{"<|", "|>"}]}], ",", "\[IndentingNewLine]", "\t", 
       RowBox[{
        RowBox[{"$CrystalData", "[", 
         RowBox[{"crystal", ",", "\"\<Notes\>\""}], "]"}], "=", 
        RowBox[{"Sort", "@", "notes"}]}], ",", "\[IndentingNewLine]", "\t", 
       RowBox[{"KeyDropFrom", "[", 
        RowBox[{
         RowBox[{"$CrystalData", "[", "crystal", "]"}], ",", 
         "\"\<Notes\>\""}], "]"}]}], "\[IndentingNewLine]", "\t", "]"}], ";", 
     "\[IndentingNewLine]", "\[IndentingNewLine]", "\[IndentingNewLine]", 
     RowBox[{"(*", 
      RowBox[{
       RowBox[{"--", "-"}], "*", " ", "5.", " ", "Display", " ", "*", 
       RowBox[{"--", "-"}]}], "*)"}], "\[IndentingNewLine]", 
     RowBox[{"Label", "[", "\"\<End\>\"", "]"}], ";", "\[IndentingNewLine]", 
     "\[IndentingNewLine]", 
     RowBox[{"KeyValueMap", "[", "\[IndentingNewLine]", 
      RowBox[{
       RowBox[{
        RowBox[{"If", "[", 
         RowBox[{
          RowBox[{"#1", "===", "\"\<AtomData\>\""}], ",", 
          "\[IndentingNewLine]", 
          RowBox[{"\"\<AtomData\>\"", "\[Rule]", 
           RowBox[{"Shallow", "[", 
            RowBox[{"#2", ",", "1"}], "]"}]}], ",", "\[IndentingNewLine]", 
          RowBox[{"#1", "\[Rule]", "#2"}]}], "]"}], "&"}], ",", 
       "\[IndentingNewLine]", 
       RowBox[{"$CrystalData", "[", "crystal", "]"}]}], "]"}]}]}], 
   "\[IndentingNewLine]", "]"}]}]], "Input",
 InitializationCell->False,
 CellChangeTimes->{{3.761652384926148*^9, 3.7616523863182783`*^9}, {
   3.761652501261352*^9, 3.761652505333606*^9}, 3.7627930943264647`*^9, {
   3.78011729838146*^9, 3.780117327859271*^9}, {3.780119006161199*^9, 
   3.780119008331439*^9}, {3.780119063591*^9, 3.780119073849944*^9}, {
   3.7801194423151493`*^9, 3.780119442821135*^9}, {3.780119849545116*^9, 
   3.780119925444474*^9}, {3.780120042088119*^9, 3.780120073059046*^9}, {
   3.780120118377701*^9, 3.780120118582106*^9}, {3.7801209002648973`*^9, 
   3.780120901295123*^9}, {3.780120946545774*^9, 3.780121001302227*^9}, {
   3.7801213344858503`*^9, 3.78012134048417*^9}, {3.7801215867393312`*^9, 
   3.780121586874241*^9}, {3.780123138803892*^9, 3.780123159065637*^9}, {
   3.780123276268249*^9, 3.7801233645501337`*^9}, {3.7801234304595127`*^9, 
   3.780123456756074*^9}, {3.78012348866334*^9, 3.7801234890526867`*^9}, {
   3.780123674412871*^9, 3.780123792511475*^9}, {3.780123838562603*^9, 
   3.7801239843231697`*^9}, {3.7801241361874857`*^9, 3.780124138114052*^9}, {
   3.78012418250989*^9, 3.780124312361519*^9}, {3.780124350946904*^9, 
   3.780124352858677*^9}, {3.78012440254611*^9, 3.780124403317322*^9}, {
   3.780124438359673*^9, 3.780124493451413*^9}, {3.7801245475582867`*^9, 
   3.780124594888576*^9}, {3.780125169059753*^9, 3.780125173946314*^9}, 
   3.7801252225281143`*^9, {3.7801255423203993`*^9, 3.7801255537217703`*^9}, {
   3.780125601910986*^9, 3.780125718299121*^9}, {3.780125748712925*^9, 
   3.780125803540703*^9}, {3.780125925749563*^9, 3.780125970562964*^9}, {
   3.780126007281138*^9, 3.780126042629672*^9}, {3.780126119836372*^9, 
   3.780126120258316*^9}, {3.780126167751857*^9, 3.780126227715029*^9}, {
   3.780126310831773*^9, 3.780126473065201*^9}, {3.780126509406781*^9, 
   3.780126549474765*^9}, {3.780126580451379*^9, 3.780126580791086*^9}, {
   3.780126631667992*^9, 3.780126684644767*^9}, 3.7801268061744957`*^9, {
   3.780127041732708*^9, 3.780127163368679*^9}, {3.780127204691481*^9, 
   3.780127212193478*^9}, {3.780127257343275*^9, 3.78012729452597*^9}, {
   3.7801273250863657`*^9, 3.780127393432397*^9}, {3.780136714530459*^9, 
   3.780136717652457*^9}, {3.786968732176543*^9, 3.7869687332192173`*^9}},
 Background->RGBColor[0.94, 0.91, 0.88],
 CellLabel->"In[933]:=",
 CellID->24626837,ExpressionUUID->"4c17e1ef-7ff6-4157-9046-d27028fdf7f7"]
}, Closed]]
}, Open  ]]
},
WindowSize->Medium,
WindowMargins->Automatic,
Visible->True,
CellContext->"Global`",
FrontEndVersion->"11.3 for Mac OS X x86 (32-bit, 64-bit Kernel) (March 5, \
2018)",
StyleDefinitions->FrontEnd`FileName[{"Wolfram"}, "FunctionPageStyles.nb", 
  CharacterEncoding -> "UTF-8"]
]
(* End of Notebook Content *)

(* Internal cache information *)
(*CellTagsOutline
CellTagsIndex->{
 "ExtendedExamples"->{
  Cell[35180, 871, 155, 2, 56, "ExtendedExamplesSection",ExpressionUUID->"b806d5e1-b7e0-4724-9315-0f349bc78cc6",
   CellTags->"ExtendedExamples",
   CellID->1854448968]}
 }
*)
(*CellTagsIndex
CellTagsIndex->{
 {"ExtendedExamples", 256319, 5880}
 }
*)
(*NotebookFileOutline
Notebook[{
Cell[558, 20, 671, 15, 24, "History",ExpressionUUID->"3564ca1c-ed90-40aa-9486-b2a3e651a047",
 CellID->1247902091],
Cell[CellGroupData[{
Cell[1254, 39, 123, 1, 29, "CategorizationSection",ExpressionUUID->"084f8c15-2b0e-4d69-97d3-d7afe09ac5f4",
 CellID->1122911449],
Cell[1380, 42, 134, 2, 30, "Categorization",ExpressionUUID->"b45baed7-701c-44b1-83ab-89f9d128b42f",
 CellID->686433507],
Cell[1517, 46, 177, 3, 30, "Categorization",ExpressionUUID->"c7c586c3-4f1e-4c87-ad13-31ab20b651d8",
 CellID->605800465],
Cell[1697, 51, 171, 3, 30, "Categorization",ExpressionUUID->"1da44dab-77db-43a7-8c26-3b0fef05e95a",
 CellID->468444828],
Cell[1871, 56, 174, 2, 30, "Categorization",ExpressionUUID->"63233077-7c04-4e3b-ad4c-ea52ff735bc8"]
}, Open  ]],
Cell[CellGroupData[{
Cell[2082, 63, 110, 1, 29, "KeywordsSection",ExpressionUUID->"60ed071a-2584-49ef-bc37-5c927a6b2704",
 CellID->477174294],
Cell[2195, 66, 100, 1, 70, "Keywords",ExpressionUUID->"8251cd94-eeeb-46aa-8b24-e674a31408f7",
 CellID->1164421360]
}, Closed]],
Cell[CellGroupData[{
Cell[2332, 72, 120, 1, 19, "TemplatesSection",ExpressionUUID->"1f39526d-cfc7-463e-be5c-88c2d3a5fb4a",
 CellID->1872225408],
Cell[2455, 75, 149, 2, 70, "Template",ExpressionUUID->"2501a806-7602-4f13-a1f4-09ded7e671b8",
 CellID->1562036412],
Cell[2607, 79, 137, 2, 70, "Template",ExpressionUUID->"c3f61f3d-466b-4b00-a53c-600080c26b07",
 CellID->158391909],
Cell[2747, 83, 136, 2, 70, "Template",ExpressionUUID->"3bb03934-6e7d-48ea-b525-658d25caecdd",
 CellID->1360575930],
Cell[2886, 87, 137, 2, 70, "Template",ExpressionUUID->"4fec2d68-f035-40da-8cfa-1a2b3c444299",
 CellID->793782254]
}, Closed]],
Cell[CellGroupData[{
Cell[3060, 94, 108, 1, 19, "DetailsSection",ExpressionUUID->"cf06c8ed-1e70-4468-a934-80d4644cf26c",
 CellID->307771771],
Cell[3171, 97, 118, 2, 70, "Details",ExpressionUUID->"e7a3e3b1-9f66-4312-9366-7a4b1e084085",
 CellID->670882175],
Cell[3292, 101, 124, 2, 70, "Details",ExpressionUUID->"46bcfbd3-6489-41ef-84f4-2b19b38d08a9",
 CellID->350963985],
Cell[3419, 105, 119, 2, 70, "Details",ExpressionUUID->"8d02d7ca-ef2f-42bc-815a-639a710e1e8f",
 CellID->8391405],
Cell[3541, 109, 124, 2, 70, "Details",ExpressionUUID->"00194033-5b4c-467c-bf29-dd755cb179ef",
 CellID->3610269],
Cell[3668, 113, 116, 2, 70, "Details",ExpressionUUID->"1f28db49-ef6c-4d09-9205-3ad6c0576a0e",
 CellID->401364205],
Cell[3787, 117, 116, 2, 70, "Details",ExpressionUUID->"8b69ffe8-2c05-4040-8a0c-1e6b2f6ac404",
 CellID->350204745],
Cell[3906, 121, 118, 2, 70, "Details",ExpressionUUID->"4234ec4e-bb6f-419c-9a1b-68f161a67c46",
 CellID->732958810],
Cell[4027, 125, 133, 2, 70, "Details",ExpressionUUID->"aa768ac9-a479-496d-be92-3b20854bb6e7",
 CellID->222905350],
Cell[4163, 129, 122, 2, 70, "Details",ExpressionUUID->"c29aafd8-2e63-4313-b95a-7d34f0c4c8b6",
 CellID->240026365]
}, Closed]],
Cell[CellGroupData[{
Cell[4322, 136, 120, 1, 63, "ObjectName",ExpressionUUID->"cd860828-c889-488d-974b-dcbd4ebb5e3c",
 CellID->1224892054],
Cell[4445, 139, 2056, 50, 115, "Usage",ExpressionUUID->"f50dc0a6-a5b1-4cf8-a55f-287c705c150d",
 CellID->982511436],
Cell[6504, 191, 840, 22, 25, "Notes",ExpressionUUID->"fbbab730-8c02-4d58-b578-cea830bb7304",
 CellID->1081352006],
Cell[7347, 215, 644, 11, 25, "Notes",ExpressionUUID->"e079f330-b9b0-4fda-a64b-efd48c7483f1",
 CellID->179929223],
Cell[7994, 228, 4246, 76, 181, "3ColumnTableMod",ExpressionUUID->"093b6b13-2db5-44fc-a0aa-7d6daed38aaa",
 CellID->1809341154],
Cell[12243, 306, 752, 15, 42, "Notes",ExpressionUUID->"cf5f5995-985d-4020-b4b0-e3c5e64df65b",
 CellID->443141208],
Cell[12998, 323, 4338, 75, 195, "3ColumnTableMod",ExpressionUUID->"5edf1849-9144-4a46-99b4-86c81bb959a8",
 CellID->856829393],
Cell[17339, 400, 1479, 36, 77, "Notes",ExpressionUUID->"4f9cc6dc-85df-41a9-a02a-55124d22449d",
 CellID->2119178073],
Cell[18821, 438, 828, 17, 58, "Notes",ExpressionUUID->"d556b0ea-fe65-4f06-a049-762b0d09fcfb",
 CellID->266054275],
Cell[19652, 457, 671, 16, 27, "Notes",ExpressionUUID->"695ad1cc-0b8b-41de-9a6d-3251d9d26cab",
 CellID->158694970],
Cell[20326, 475, 875, 19, 44, "Notes",ExpressionUUID->"8e0ddd9e-aada-46e5-b0bf-045a6c616c9d",
 CellID->344559116],
Cell[21204, 496, 863, 18, 59, "Notes",ExpressionUUID->"c4d88e1f-a4c3-4f4f-ab38-44b1e2bc82f5",
 CellID->465380681]
}, Open  ]],
Cell[CellGroupData[{
Cell[22104, 519, 112, 1, 44, "TutorialsSection",ExpressionUUID->"7ff8a027-c53c-46c7-8bd2-6ffb7875f0d7",
 CellID->250839057],
Cell[22219, 522, 100, 1, 16, "Tutorials",ExpressionUUID->"a2a40f4c-3342-4c94-914b-a5d1425bce06",
 CellID->341631938]
}, Open  ]],
Cell[CellGroupData[{
Cell[22356, 528, 138, 1, 31, "RelatedDemonstrationsSection",ExpressionUUID->"e023c1a4-8be8-4c17-ae69-f7e9d3ce1a98",
 CellID->1268215905],
Cell[22497, 531, 113, 1, 16, "RelatedDemonstrations",ExpressionUUID->"d08bb781-bf3d-4a42-b56e-e478ceb1d189",
 CellID->1129518860]
}, Open  ]],
Cell[CellGroupData[{
Cell[22647, 537, 120, 1, 31, "RelatedLinksSection",ExpressionUUID->"b3c2744e-8ae9-4afa-97d0-d40d81e9272e",
 CellID->1584193535],
Cell[22770, 540, 104, 1, 16, "RelatedLinks",ExpressionUUID->"dd98338a-64ff-458a-92e6-f07c33354689",
 CellID->1038487239]
}, Open  ]],
Cell[CellGroupData[{
Cell[22911, 546, 110, 1, 31, "SeeAlsoSection",ExpressionUUID->"4ada1134-c0a7-4c6f-8b5c-1758f272d070",
 CellID->1255426704],
Cell[23024, 549, 1901, 46, 39, "SeeAlso",ExpressionUUID->"3c53c11f-9a88-44c3-946e-df2831a6b88d",
 CellID->929782353]
}, Open  ]],
Cell[CellGroupData[{
Cell[24962, 600, 112, 1, 31, "MoreAboutSection",ExpressionUUID->"f337e54c-a19f-4f53-b649-9b17dc2556a4",
 CellID->38303248],
Cell[25077, 603, 101, 1, 16, "MoreAbout",ExpressionUUID->"3e1abe62-6607-4a14-a4c6-b05a72f870a7",
 CellID->1665078683]
}, Open  ]],
Cell[CellGroupData[{
Cell[25215, 609, 411, 11, 70, "PrimaryExamplesSection",ExpressionUUID->"2c01f331-34fc-43bf-bb67-2d6b15351065",
 CellID->880084151],
Cell[25629, 622, 269, 7, 22, "ExampleText",ExpressionUUID->"6c2b9849-6f99-40e0-8f6e-c9649fd2215c",
 CellID->1457080377],
Cell[CellGroupData[{
Cell[25923, 633, 515, 12, 50, "Input",ExpressionUUID->"017b6c1f-af91-4d6c-a729-c9e3882ff3c1",
 CellID->1813829567],
Cell[26441, 647, 2238, 55, 110, "Output",ExpressionUUID->"1dc11f87-85fc-4d2b-9a90-5cff245da605",
 CellID->1377650363]
}, Open  ]],
Cell[28694, 705, 307, 6, 22, "ExampleText",ExpressionUUID->"106b018a-41c2-4ffc-b0be-58fa8229e40b",
 CellID->1613748649],
Cell[CellGroupData[{
Cell[29026, 715, 391, 7, 50, "Input",ExpressionUUID->"e0e76c72-4f1a-424f-b732-30963486f974",
 CellID->1440470077],
Cell[29420, 724, 2489, 57, 110, "Output",ExpressionUUID->"8cb2adfc-1d8a-4b92-8324-687250409dfe",
 CellID->968987]
}, Open  ]],
Cell[31924, 784, 527, 13, 24, "ExampleText",ExpressionUUID->"7e419e41-b421-4371-9ece-34428a22e626",
 CellID->83868485],
Cell[CellGroupData[{
Cell[32476, 801, 262, 6, 27, "Input",ExpressionUUID->"1f4fba3f-d7a0-4ba9-b0c4-e138d2b02ae9",
 CellID->651903697],
Cell[32741, 809, 2390, 56, 110, "Output",ExpressionUUID->"bb183f7c-14e4-4371-b74c-273e56113ab8",
 CellID->1253378980]
}, Open  ]]
}, Open  ]],
Cell[CellGroupData[{
Cell[35180, 871, 155, 2, 56, "ExtendedExamplesSection",ExpressionUUID->"b806d5e1-b7e0-4724-9315-0f349bc78cc6",
 CellTags->"ExtendedExamples",
 CellID->1854448968],
Cell[CellGroupData[{
Cell[35360, 877, 242, 5, 33, "ExampleSection",ExpressionUUID->"1702c27e-5002-4e14-8aad-b06a32307320",
 CellID->1293636265],
Cell[35605, 884, 293, 7, 22, "ExampleText",ExpressionUUID->"71e3766b-bc8b-4462-8f5a-a219dd0efe00",
 CellID->658661185],
Cell[CellGroupData[{
Cell[35923, 895, 572, 13, 71, "Input",ExpressionUUID->"21eb6c95-ba34-420f-9820-cd89e344f5f1",
 CellID->1014259112],
Cell[36498, 910, 2306, 56, 110, "Output",ExpressionUUID->"0772506b-3fae-44c7-ad03-48e04db25801",
 CellID->811337585]
}, Open  ]],
Cell[38819, 969, 263, 5, 22, "ExampleText",ExpressionUUID->"c2322917-e5b0-4af7-96a5-776870026a05",
 CellID->2038090694],
Cell[CellGroupData[{
Cell[39107, 978, 397, 8, 29, "Input",ExpressionUUID->"51e85cd9-9d96-414f-a4f4-bb875c25843d",
 CellID->2075189145],
Cell[39507, 988, 2531, 58, 122, "Output",ExpressionUUID->"9db1b85b-cb0a-43d4-90f6-cff7d8090c94",
 CellID->693347646]
}, Open  ]],
Cell[42053, 1049, 479, 9, 39, "ExampleText",ExpressionUUID->"aae82de5-bd4d-4e60-8402-fa7ebbe6fda2",
 CellID->341963236],
Cell[CellGroupData[{
Cell[42557, 1062, 245, 5, 29, "Input",ExpressionUUID->"1d8a564d-230f-45ef-91bb-537d8c84701f",
 CellID->1710381513],
Cell[42805, 1069, 2311, 55, 110, "Output",ExpressionUUID->"7f30634c-4d57-447f-9f2b-0d8c282ab065",
 CellID->964215521]
}, Open  ]],
Cell[CellGroupData[{
Cell[45153, 1129, 243, 5, 17, "ExampleDelimiter",ExpressionUUID->"e15b6376-be07-494d-9b22-ebcb7cdc1193",
 CellID->1957161973],
Cell[45399, 1136, 482, 8, 37, "ExampleText",ExpressionUUID->"c21bb3b9-65dc-456a-ac31-0ef1fd8f4506",
 CellID->166875052],
Cell[45884, 1146, 251, 5, 27, "Input",ExpressionUUID->"83ee1add-11ca-4d64-9394-b0574d4a31f3",
 CellID->527034049],
Cell[46138, 1153, 294, 5, 22, "ExampleText",ExpressionUUID->"ac4e8717-6ba8-4bad-ba49-a74013a8ddb9",
 CellID->734494782],
Cell[CellGroupData[{
Cell[46457, 1162, 861, 21, 109, "Input",ExpressionUUID->"87f45e55-fd3b-4a2f-aaf7-dffd5f51f687",
 CellID->671089335],
Cell[47321, 1185, 519, 12, 44, "Output",ExpressionUUID->"38a31df3-490b-450d-822e-c4bfd2a013e3",
 CellID->1593148960]
}, Open  ]],
Cell[47855, 1200, 192, 2, 22, "ExampleText",ExpressionUUID->"3d8403e0-718f-4c04-91c0-806e62ba2f69",
 CellID->1205842415],
Cell[CellGroupData[{
Cell[48072, 1206, 616, 15, 47, "Input",ExpressionUUID->"051cbe6f-f697-4549-a663-7c4afac58e35",
 CellID->283717796],
Cell[48691, 1223, 2693, 75, 370, "Output",ExpressionUUID->"1c182d05-86c6-4e94-ac02-2c12f6502e8e",
 CellID->1228459924]
}, Open  ]],
Cell[51399, 1301, 260, 5, 22, "ExampleText",ExpressionUUID->"4c4691a4-b0cf-4821-a3f8-c31e175b66ee",
 CellID->1680932570],
Cell[CellGroupData[{
Cell[51684, 1310, 478, 8, 27, "Input",ExpressionUUID->"f6dce5e6-bc73-4fb2-8c70-b42b2e8d963d",
 CellID->1279422874],
Cell[52165, 1320, 2194, 52, 86, "Output",ExpressionUUID->"d8d9c5e9-8fcc-42ff-b67c-083cc7d53e72",
 CellID->818160410]
}, Open  ]],
Cell[54374, 1375, 264, 3, 22, "ExampleText",ExpressionUUID->"af0f7f80-42dc-48e8-bf6b-86832ed39257",
 CellID->2026203058],
Cell[CellGroupData[{
Cell[54663, 1382, 295, 5, 27, "Input",ExpressionUUID->"ab72cf71-9af8-4f17-ae45-5bfa0d71f490",
 CellID->1865658678],
Cell[54961, 1389, 619, 11, 29, "Output",ExpressionUUID->"ae534ed5-e885-4e11-81ef-e36db3733194",
 CellID->484219129]
}, Open  ]],
Cell[CellGroupData[{
Cell[55617, 1405, 221, 4, 27, "Input",ExpressionUUID->"b22c7314-a1ad-4de0-9c43-e1d146978fdf",
 CellID->885182825],
Cell[55841, 1411, 2524, 72, 370, "Output",ExpressionUUID->"56fbe289-6f06-407d-a6a8-ed13baa1b322",
 CellID->1455362620]
}, Open  ]],
Cell[58380, 1486, 367, 7, 22, "ExampleText",ExpressionUUID->"b180daec-4de7-413d-b17a-9e616422d61e",
 CellID->1665431182],
Cell[CellGroupData[{
Cell[58772, 1497, 465, 8, 27, "Input",ExpressionUUID->"bc0cd340-ea63-4b2f-947a-879189d168dc",
 CellID->269201022],
Cell[59240, 1507, 2200, 51, 86, "Output",ExpressionUUID->"224244bf-370b-432e-a6c5-28d27bbce2b8",
 CellID->440815010]
}, Open  ]],
Cell[61455, 1561, 224, 3, 22, "ExampleText",ExpressionUUID->"84b272d2-cb67-437e-854f-25362e597203",
 CellID->1354264927],
Cell[CellGroupData[{
Cell[61704, 1568, 297, 5, 27, "Input",ExpressionUUID->"f644f8ce-e797-4b5d-a008-a0f7ef045cd2",
 CellID->1078879983],
Cell[62004, 1575, 597, 13, 43, "Output",ExpressionUUID->"4ba59f33-0d0b-44ec-87ec-2c72b6d33048",
 CellID->2106774567]
}, Open  ]]
}, Open  ]],
Cell[CellGroupData[{
Cell[62650, 1594, 243, 5, 17, "ExampleDelimiter",ExpressionUUID->"3e14fc5d-12b9-4d19-a489-cb95bccf751a",
 CellID->1415114360],
Cell[62896, 1601, 316, 7, 22, "ExampleText",ExpressionUUID->"a2334347-3827-46be-8327-6324a0919827",
 CellID->1236632999],
Cell[CellGroupData[{
Cell[63237, 1612, 639, 13, 47, "Input",ExpressionUUID->"ce1473b1-58da-48ed-9603-caec289369a1",
 CellID->44268505],
Cell[63879, 1627, 2530, 59, 105, "Output",ExpressionUUID->"a19202c4-cd7f-425b-a22c-aec182e92f58",
 CellID->849775833]
}, Open  ]],
Cell[66424, 1689, 562, 14, 24, "ExampleText",ExpressionUUID->"829a2d44-367d-413b-925e-b7819225d62d",
 CellID->1190426388],
Cell[CellGroupData[{
Cell[67011, 1707, 524, 12, 27, "Input",ExpressionUUID->"418d6ba5-e256-4d2c-8544-925243b14da7",
 CellID->1646173065],
Cell[67538, 1721, 27155, 532, 204, "Output",ExpressionUUID->"e9afcf93-463f-4fe0-a4b7-70cf75316fe1",
 CellID->1416172681]
}, Open  ]],
Cell[94708, 2256, 379, 9, 24, "ExampleText",ExpressionUUID->"1aadf781-ecdd-40a8-bcc4-50e0ee2dfa6a",
 CellID->668713251],
Cell[CellGroupData[{
Cell[95112, 2269, 693, 17, 69, "Input",ExpressionUUID->"60e4d0d3-267b-4722-b852-f8a51f45b198",
 CellID->1361270022],
Cell[95808, 2288, 27158, 532, 204, "Output",ExpressionUUID->"927d80ad-8220-46e0-8f59-36f76949ea14",
 CellID->1052989866]
}, Open  ]]
}, Open  ]]
}, Open  ]],
Cell[123005, 2825, 265, 5, 33, "ExampleSection",ExpressionUUID->"8fb92e8d-24ea-46ff-b323-dee12f444cbf",
 CellID->1020263627],
Cell[CellGroupData[{
Cell[123295, 2834, 244, 5, 21, "ExampleSection",ExpressionUUID->"4f2a6401-0908-409b-8490-5fb5e4da3ce6",
 CellID->2061341341],
Cell[CellGroupData[{
Cell[123564, 2843, 324, 6, 24, "ExampleSubsection",ExpressionUUID->"3a12da16-7686-4802-af21-a2885daf3b3d",
 CellID->1757724783],
Cell[123891, 2851, 380, 8, 23, "ExampleText",ExpressionUUID->"30f46b86-801b-400c-b60d-7e3fab3c41c7",
 CellID->1080897061],
Cell[CellGroupData[{
Cell[124296, 2863, 441, 8, 50, "Input",ExpressionUUID->"2ef2ab97-fb84-4e41-b109-d4e7356a013a",
 CellID->117858225],
Cell[124740, 2873, 525, 13, 25, "Output",ExpressionUUID->"2d5f223d-b168-4290-8df2-5238318a5acc",
 CellID->556641501]
}, Open  ]],
Cell[125280, 2889, 261, 5, 22, "ExampleText",ExpressionUUID->"585b58d2-cba6-4d6b-b88a-3ea24d0a14e9",
 CellID->2116444218]
}, Open  ]]
}, Open  ]],
Cell[125568, 2898, 248, 5, 33, "ExampleSection",ExpressionUUID->"1eddcd96-feec-486e-942d-25c57d93d5d8",
 CellID->258228157],
Cell[125819, 2905, 259, 5, 21, "ExampleSection",ExpressionUUID->"291d9f44-de48-4222-b123-e93ec66a9123",
 CellID->2123667759],
Cell[CellGroupData[{
Cell[126103, 2914, 252, 5, 21, "ExampleSection",ExpressionUUID->"06a91ad3-0d42-4e9c-bb02-6cd9928a6286",
 CellID->1305812373],
Cell[126358, 2921, 211, 2, 22, "ExampleText",ExpressionUUID->"f001dbd0-9824-4371-b35c-96e4c20bb075",
 CellID->690732889],
Cell[CellGroupData[{
Cell[126594, 2927, 456, 9, 29, "Input",ExpressionUUID->"bc73b6fb-d028-4067-aa5a-0a0af4118882",
 CellID->69545001],
Cell[127053, 2938, 863, 15, 22, "Message",ExpressionUUID->"61844de6-62c2-49a0-989f-f0cd666c9ca2",
 CellID->1539172892],
Cell[127919, 2955, 469, 7, 25, "Output",ExpressionUUID->"6f156690-1885-49a5-a9f1-f8064e97c55b",
 CellID->290784082]
}, Open  ]]
}, Open  ]],
Cell[CellGroupData[{
Cell[128437, 2968, 257, 5, 33, "ExampleSection",ExpressionUUID->"c6ba3e40-c0aa-4c6d-9014-bfc866ce0bd0",
 CellID->1653164318],
Cell[128697, 2975, 301, 7, 22, "ExampleText",ExpressionUUID->"f255d103-e4e9-4218-9c51-1c9c9fcb8cf0",
 CellID->200455833],
Cell[CellGroupData[{
Cell[129023, 2986, 661, 14, 50, "Input",ExpressionUUID->"53594131-3802-472e-a392-17467bd49dae",
 CellID->1806826735],
Cell[129687, 3002, 2331, 55, 110, "Output",ExpressionUUID->"cc635101-3caa-4a1c-a2d9-45c272afea7e",
 CellID->1157432833]
}, Open  ]],
Cell[132033, 3060, 434, 8, 37, "ExampleText",ExpressionUUID->"3ef234ad-1d55-41bc-a1d2-e71d7768434a",
 CellID->1568731754],
Cell[132470, 3070, 1210, 30, 134, "Input",ExpressionUUID->"7b4576eb-ca54-4be0-b20b-e408c847fb11",
 CellID->1215878290]
}, Open  ]],
Cell[133695, 3103, 249, 5, 33, "ExampleSection",ExpressionUUID->"4ec518ba-33bd-4df9-93f6-b514a95d1c06",
 CellID->589267740],
Cell[CellGroupData[{
Cell[133969, 3112, 372, 8, 21, "ExampleSection",ExpressionUUID->"5a842234-3a23-4795-8a97-8ef2fd7e6a9c",
 CellID->1098223308],
Cell[134344, 3122, 3437, 77, 476, "Input",ExpressionUUID->"3f78c572-f469-4160-bc57-75cac4d34f56",
 InitializationCell->False,
 CellID->763079119],
Cell[137784, 3201, 118109, 2661, 16409, "Input",ExpressionUUID->"4c17e1ef-7ff6-4157-9046-d27028fdf7f7",
 InitializationCell->False,
 CellID->24626837]
}, Closed]]
}, Open  ]]
}
]
*)

